/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.cip.esymons.colegiatura.beans;

import org.cip.esymons.colegiatura.adapters.RutaCarpetaReporte;
import org.cip.esymons.colegiatura.bc.TransferenciaDelegate;
import org.cip.esymons.colegiatura.be.Transferencia;
import java.io.File;
import java.io.FileInputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import org.cip.esymons.colegiatura.bc.ArchivoPreinscripcionDelegate;

import org.cip.esymons.colegiatura.bc.CitaDelegate;
import org.cip.esymons.colegiatura.bc.ColegiadoCentroTrabajoDelegate;
import org.cip.esymons.colegiatura.bc.ColegiadoComiteLocalDelegate;
import org.cip.esymons.colegiatura.bc.ColegiadoDelegate;
import org.cip.esymons.colegiatura.bc.ColegiadoDeporteDelegate;
import org.cip.esymons.colegiatura.bc.ColegiadoEspecialidadDelegate;
import org.cip.esymons.colegiatura.bc.ConsejoDelegate;
import org.cip.esymons.colegiatura.bc.DerechosAutorDelegate;
import org.cip.esymons.colegiatura.bc.DetalleCronogramaDelegate;
import org.cip.esymons.colegiatura.bc.DetalleGuiaDelegate;
import org.cip.esymons.colegiatura.bc.DetalleSancionDelegate;
import org.cip.esymons.colegiatura.bc.DireccionDelegate;
import org.cip.esymons.colegiatura.bc.DirectivosDelegate;
import org.cip.esymons.colegiatura.bc.GuiaRemisionDelegate;
import org.cip.esymons.colegiatura.bc.PersonaNaturalDelegate;
import org.cip.esymons.colegiatura.bc.PreInscripcionDelegate;
import org.cip.esymons.colegiatura.bc.ReconocimientoColegiadoDelegate;
import org.cip.esymons.colegiatura.bc.TelefonoDelegate;
import org.cip.esymons.colegiatura.be.ArchivoPreinscripcion;
import org.cip.esymons.colegiatura.be.Cita;
import org.cip.esymons.colegiatura.be.Colegiado;
import org.cip.esymons.colegiatura.be.ColegiadoDeporte;
import org.cip.esymons.colegiatura.be.DerechosAutor;
import org.cip.esymons.colegiatura.be.DetalleGuia;
import org.cip.esymons.colegiatura.be.DetalleSancion;
import org.cip.esymons.colegiatura.be.Detallecronograma;
import org.cip.esymons.colegiatura.be.GuiaRemision;
import org.cip.esymons.colegiatura.be.Preinscripcion;
import org.cip.esymons.colegiatura.be.ReconocimientoColegiado;
import org.cip.esymons.general.be.ColegiadoCentroTrabajo;
import org.cip.esymons.general.be.ColegiadoComiteLocal;
import org.cip.esymons.general.be.ColegiadoEspecialidad;
import org.cip.esymons.general.be.ConsejoDepartamental;
import org.cip.esymons.general.be.DireccionPersona;
import org.cip.esymons.general.be.Directivos;
import org.cip.esymons.general.be.PersonaNatural;
import org.cip.esymons.general.be.TelefonoSolicitante;
import org.cip.esymons.general.util.ControladorAbstracto;
import org.cip.esymons.general.util.FormatoExportacion;
import org.cip.esymons.general.util.Reporteador;

/**
 *
 * @author ADMINISTRADOR
 */
public class jasperController {

    private TransferenciaDelegate delegadoTransferencia;
    private DetalleSancionDelegate delegadoDetalleSancion;
    private ColegiadoDelegate delegadoColegiado;
    private PreInscripcionDelegate delegadoPreinscripcion;
    private DireccionDelegate delegadoDireccion;
    private ColegiadoDeporteDelegate delegadoDeporte;
    private DirectivosDelegate delegadoDirectivo;
    private ColegiadoEspecialidadDelegate delegadoColegiadoEspecialidad;
    private TelefonoDelegate delegadoTelefono;
    private DerechosAutorDelegate delegadoDerechosAutor;
    private ConsejoDelegate delegadoConsejo;
    private GuiaRemisionDelegate delegadoGuiaRemision;
    private DetalleGuiaDelegate delegadoDetalleGuia;
    private CitaDelegate delegadoCita;
    private ColegiadoComiteLocalDelegate delegadoColegiadoComite;
    private ColegiadoCentroTrabajoDelegate delegadoColegiadoCentroTrabajo;
    private DetalleCronogramaDelegate delegadoDetalleCronograma;
    private ArchivoPreinscripcionDelegate delegadoArchivoPre;
    private ReconocimientoColegiadoDelegate delegadoRecoColegiado;    

    List<Transferencia> listaTransferencias;
    List<DetalleSancion> listaDetalleSancion;
    List<PersonaNatural> listaColGeneral;
    List<Colegiado> listaColPorUniversidad;
    List<Colegiado> listaColOrdinarios;
    List<Colegiado> listaColTemporales;
    List<Colegiado> listaColExternos;
    List<Colegiado> listaColFallecidos;
    List<Colegiado> listaColVitalicios;
    List<Colegiado> listaColTransferidos;
    List<Colegiado> listaColegiadosPorFechas;
    List<Colegiado> listaColegiadosNuevos;
    List<ColegiadoComiteLocal> listaColegiadoComite;
    List<ColegiadoCentroTrabajo> listaColegiadoCentroTrabajo;

//    List<Colegiado> listaColGeneral;
    List<ColegiadoDeporte> listaColegiadoDeporte;
    List<DireccionPersona> listaColegiadosPorFechaNacimiento;
    List<Directivos> listaDirectivos;
    List<ColegiadoEspecialidad> listaColegiadoEsp;
    List<Cita> listaCitaPreinscritos;
    List<DetalleGuia> listaDetalleGuia;
    List<Preinscripcion> listaPreinscritoFechaConDireccion;
    List<ArchivoPreinscripcion> listaArchivoPre;
    List<ReconocimientoColegiado> listaColReconocido;
    List<DireccionPersona> listaColegiadosPorDistrito;

    private GuiaRemision guiaRemisionReporte;
    private Preinscripcion preInscripcion;
    private Colegiado colegiado;
    private DireccionPersona direccionEmp;
    private DireccionPersona direccionPreinscrito;
    private List<TelefonoSolicitante> listaTelefono;
    private List<TelefonoSolicitante> listaCelular;
    private List<TelefonoSolicitante> listaTelefonoEmp;
    private Directivos presidente,vocal1,vocal2,decano,secretario,secretariaGeneral;
    private DerechosAutor derechosAutor;
    private ConsejoDepartamental consejo;
    private List<Detallecronograma> listaDetalleCronograma;
    private Long codigoCol;
    private String nombreReporte;
    private Colegiado colegiadoDeportado;

    public jasperController() {

        delegadoTransferencia = new TransferenciaDelegate();
        delegadoDetalleSancion = new DetalleSancionDelegate();
        delegadoColegiado = new ColegiadoDelegate();
        delegadoPreinscripcion = new PreInscripcionDelegate();
        delegadoDireccion = new DireccionDelegate();
        delegadoDeporte = new ColegiadoDeporteDelegate();
        delegadoDirectivo = new DirectivosDelegate();
        delegadoColegiadoEspecialidad = new ColegiadoEspecialidadDelegate();
        delegadoTelefono = new TelefonoDelegate();
        delegadoDerechosAutor = new DerechosAutorDelegate();
        delegadoConsejo = new ConsejoDelegate();
        delegadoDetalleGuia = new DetalleGuiaDelegate();
        delegadoGuiaRemision = new GuiaRemisionDelegate();
        delegadoCita = new CitaDelegate();
        delegadoColegiadoComite = new ColegiadoComiteLocalDelegate();
        delegadoColegiadoCentroTrabajo = new ColegiadoCentroTrabajoDelegate();
        delegadoDetalleCronograma = new DetalleCronogramaDelegate();
        delegadoArchivoPre = new ArchivoPreinscripcionDelegate();
        delegadoRecoColegiado = new ReconocimientoColegiadoDelegate();
        
        listaColReconocido = new ArrayList<ReconocimientoColegiado>();
        listaArchivoPre = new ArrayList<ArchivoPreinscripcion>();
        listaDetalleCronograma = new ArrayList<Detallecronograma>();
        listaTransferencias = new ArrayList<Transferencia>();
        listaDetalleSancion = new ArrayList<DetalleSancion>();
        listaColGeneral = new ArrayList<PersonaNatural>();
        listaColPorUniversidad = new ArrayList<Colegiado>();
        listaColOrdinarios = new ArrayList<Colegiado>();
        listaColTemporales = new ArrayList<Colegiado>();
        listaColExternos = new ArrayList<Colegiado>();
        listaColFallecidos = new ArrayList<Colegiado>();
        listaColVitalicios = new ArrayList<Colegiado>();
        listaColTransferidos = new ArrayList<Colegiado>();
        listaColegiadosPorFechas = new ArrayList<Colegiado>();
        listaColegiadoDeporte = new ArrayList<ColegiadoDeporte>();
        listaColegiadosPorFechaNacimiento = new ArrayList<DireccionPersona>();
        listaDirectivos = new ArrayList<Directivos>();
        listaColegiadoEsp = new ArrayList<ColegiadoEspecialidad>();
        listaDetalleGuia = new ArrayList<DetalleGuia>();
        listaCitaPreinscritos = new ArrayList<Cita>();
        listaPreinscritoFechaConDireccion = new ArrayList<Preinscripcion>();
        listaColegiadosNuevos = new ArrayList<Colegiado>();
        listaColegiadoComite = new ArrayList<ColegiadoComiteLocal>();
        listaColegiadoCentroTrabajo = new ArrayList<ColegiadoCentroTrabajo>();
        listaColegiadosPorDistrito = new ArrayList<DireccionPersona>();

        preInscripcion = new Preinscripcion();
        colegiado = new Colegiado();
        direccionEmp = new DireccionPersona();
        direccionPreinscrito = new DireccionPersona();
        listaTelefono = new ArrayList<TelefonoSolicitante>();
        listaCelular = new ArrayList<TelefonoSolicitante>();
        listaTelefonoEmp = new ArrayList<TelefonoSolicitante>();
        presidente = new Directivos();
        vocal1 = new Directivos();
        vocal2 = new Directivos();
        decano  = new Directivos();
        secretario = new Directivos();
        secretariaGeneral = new Directivos();
        derechosAutor = new DerechosAutor();
        consejo = new ConsejoDepartamental();
        guiaRemisionReporte = new GuiaRemision();

        colegiadoDeportado = new Colegiado();
        
    }

    public String getNombreReporte() {
        return nombreReporte;
    }

    public void setNombreReporte(String nombreReporte) {
        this.nombreReporte = nombreReporte;
    }

    public Colegiado getColegiadoDeportado() {
        return colegiadoDeportado;
    }

    public void setColegiadoDeportado(Colegiado colegiadoDeportado) {
        this.colegiadoDeportado = colegiadoDeportado;
    }

    public Long getCodigoCol() {
        return codigoCol;
    }

    public void setCodigoCol(Long codigoCol) {
        this.codigoCol = codigoCol;
    }

    public ReconocimientoColegiadoDelegate getDelegadoRecoColegiado() {
        return delegadoRecoColegiado;
    }

    public void setDelegadoRecoColegiado(ReconocimientoColegiadoDelegate delegadoRecoColegiado) {
        this.delegadoRecoColegiado = delegadoRecoColegiado;
    }

    public ArchivoPreinscripcionDelegate getDelegadoArchivoPre() {
        return delegadoArchivoPre;
    }

    public void setDelegadoArchivoPre(ArchivoPreinscripcionDelegate delegadoArchivoPre) {
        this.delegadoArchivoPre = delegadoArchivoPre;
    }

    public DetalleCronogramaDelegate getDelegadoDetalleCronograma() {
        return delegadoDetalleCronograma;
    }

    public void setDelegadoDetalleCronograma(DetalleCronogramaDelegate delegadoDetalleCronograma) {
        this.delegadoDetalleCronograma = delegadoDetalleCronograma;
    }

    public List<Detallecronograma> getListaDetalleCronograma() {
        return listaDetalleCronograma;
    }

    public void setListaDetalleCronograma(List<Detallecronograma> listaDetalleCronograma) {
        this.listaDetalleCronograma = listaDetalleCronograma;
    }


    public ColegiadoCentroTrabajoDelegate getDelegadoColegiadoCentroTrabajo() {
        return delegadoColegiadoCentroTrabajo;
    }

    public void setDelegadoColegiadoCentroTrabajo(ColegiadoCentroTrabajoDelegate delegadoColegiadoCentroTrabajo) {
        this.delegadoColegiadoCentroTrabajo = delegadoColegiadoCentroTrabajo;
    }

    public ColegiadoComiteLocalDelegate getDelegadoColegiadoComite() {
        return delegadoColegiadoComite;
    }

    public void setDelegadoColegiadoComite(ColegiadoComiteLocalDelegate delegadoColegiadoComite) {
        this.delegadoColegiadoComite = delegadoColegiadoComite;
    }

    public CitaDelegate getDelegadoCita() {
        return delegadoCita;
    }

    public void setDelegadoCita(CitaDelegate delegadoCita) {
        this.delegadoCita = delegadoCita;
    }

    public DetalleGuiaDelegate getDelegadoDetalleGuia() {
        return delegadoDetalleGuia;
    }

    public void setDelegadoDetalleGuia(DetalleGuiaDelegate delegadoDetalleGuia) {
        this.delegadoDetalleGuia = delegadoDetalleGuia;
    }

    public GuiaRemisionDelegate getDelegadoGuiaRemision() {
        return delegadoGuiaRemision;
    }

    public void setDelegadoGuiaRemision(GuiaRemisionDelegate delegadoGuiaRemision) {
        this.delegadoGuiaRemision = delegadoGuiaRemision;
    }

    public GuiaRemision getGuiaRemisionReporte() {
        return guiaRemisionReporte;
    }

    public void setGuiaRemisionReporte(GuiaRemision guiaRemisionReporte) {
        this.guiaRemisionReporte = guiaRemisionReporte;
    }

    public ConsejoDepartamental getConsejo() {
        return consejo;
    }

    public void setConsejo(ConsejoDepartamental consejo) {
        this.consejo = consejo;
    }

    public ConsejoDelegate getDelegadoConsejo() {
        return delegadoConsejo;
    }

    public void setDelegadoConsejo(ConsejoDelegate delegadoConsejo) {
        this.delegadoConsejo = delegadoConsejo;
    }

    public DerechosAutorDelegate getDelegadoDerechosAutor() {
        return delegadoDerechosAutor;
    }

    public void setDelegadoDerechosAutor(DerechosAutorDelegate delegadoDerechosAutor) {
        this.delegadoDerechosAutor = delegadoDerechosAutor;
    }

    public DerechosAutor getDerechosAutor() {
        return derechosAutor;
    }

    public void setDerechosAutor(DerechosAutor derechosAutor) {
        this.derechosAutor = derechosAutor;
    }

    public Directivos getSecretariaGeneral() {
        return secretariaGeneral;
    }

    public void setSecretariaGeneral(Directivos secretariaGeneral) {
        this.secretariaGeneral = secretariaGeneral;
    }

    public Directivos getDecano() {
        return decano;
    }

    public void setDecano(Directivos decano) {
        this.decano = decano;
    }

    public Directivos getPresidente() {
        return presidente;
    }

    public void setPresidente(Directivos presidente) {
        this.presidente = presidente;
    }

    public Directivos getSecretario() {
        return secretario;
    }

    public void setSecretario(Directivos secretario) {
        this.secretario = secretario;
    }

    public Directivos getVocal1() {
        return vocal1;
    }

    public void setVocal1(Directivos vocal1) {
        this.vocal1 = vocal1;
    }

    public Directivos getVocal2() {
        return vocal2;
    }

    public void setVocal2(Directivos vocal2) {
        this.vocal2 = vocal2;
    }


    public TelefonoDelegate getDelegadoTelefono() {
        return delegadoTelefono;
    }

    public void setDelegadoTelefono(TelefonoDelegate delegadoTelefono) {
        this.delegadoTelefono = delegadoTelefono;
    }

    public ColegiadoEspecialidadDelegate getDelegadoColegiadoEspecialidad() {
        return delegadoColegiadoEspecialidad;
    }

    public void setDelegadoColegiadoEspecialidad(ColegiadoEspecialidadDelegate delegadoColegiadoEspecialidad) {
        this.delegadoColegiadoEspecialidad = delegadoColegiadoEspecialidad;
    }

    public DirectivosDelegate getDelegadoDirectivo() {
        return delegadoDirectivo;
    }

    public void setDelegadoDirectivo(DirectivosDelegate delegadoDirectivo) {
        this.delegadoDirectivo = delegadoDirectivo;
    }

    public ColegiadoDeporteDelegate getDelegadoDeporte() {
        return delegadoDeporte;
    }

    public void setDelegadoDeporte(ColegiadoDeporteDelegate delegadoDeporte) {
        this.delegadoDeporte = delegadoDeporte;
    }

    public DireccionDelegate getDelegadoDireccion() {
        return delegadoDireccion;
    }

    public void setDelegadoDireccion(DireccionDelegate delegadoDireccion) {
        this.delegadoDireccion = delegadoDireccion;
    }

    public DireccionPersona getDireccionEmp() {
        return direccionEmp;
    }

    public void setDireccionEmp(DireccionPersona direccionEmp) {
        this.direccionEmp = direccionEmp;
    }

    public DireccionPersona getDireccionPreinscrito() {
        return direccionPreinscrito;
    }

    public void setDireccionPreinscrito(DireccionPersona direccionPreinscrito) {
        this.direccionPreinscrito = direccionPreinscrito;
    }

    public Colegiado getColegiado() {
        return colegiado;
    }

    public void setColegiado(Colegiado colegiado) {
        this.colegiado = colegiado;
    }

    public PreInscripcionDelegate getDelegadoPreinscripcion() {
        return delegadoPreinscripcion;
    }

    public void setDelegadoPreinscripcion(PreInscripcionDelegate delegadoPreinscripcion) {
        this.delegadoPreinscripcion = delegadoPreinscripcion;
    }

    public Preinscripcion getPreInscripcion() {
        return preInscripcion;
    }

    public void setPreInscripcion(Preinscripcion preInscripcion) {
        this.preInscripcion = preInscripcion;
    }

    public TransferenciaDelegate getDelegadoTransferencia() {
        return delegadoTransferencia;
    }

    public void setDelegadoTransferencia(TransferenciaDelegate delegadoTransferencia) {
        this.delegadoTransferencia = delegadoTransferencia;
    }

    public DetalleSancionDelegate getDelegadoDetalleSancion() {
        return delegadoDetalleSancion;
    }

    public void setDelegadoDetalleSancion(DetalleSancionDelegate delegadoDetalleSancion) {
        this.delegadoDetalleSancion = delegadoDetalleSancion;
    }

    public ColegiadoDelegate getDelegadoColegiado() {
        return delegadoColegiado;
    }

    public void setDelegadoColegiado(ColegiadoDelegate delegadoColegiado) {
        this.delegadoColegiado = delegadoColegiado;
    }

    //GENERAR FICHA DE PREINSCRIPCION ANTIGUA     

    @SuppressWarnings("static-access")
    public String exportarFichaPreInscripcionAntigua() {

        Map parametros = new HashMap();
        List listaPre = new ArrayList();
        direccionPreinscrito = new DireccionPersona();
        preInscripcion = new Preinscripcion();
        listaTelefono = new ArrayList<TelefonoSolicitante>();
        listaCelular = new ArrayList<TelefonoSolicitante>();

        preInscripcionController pi = (preInscripcionController) ControladorAbstracto.getBean("preInscripcionController");
      try{

            preInscripcion = delegadoPreinscripcion.buscaPreInscripcion(pi.getCodigoColegiado());
          
          System.out.println("preinscripcion : "+preInscripcion);
          direccionPreinscrito = delegadoDireccion.buscaDireccionColegiado(preInscripcion.getPerCodigo().getSolCodigo());
          listaTelefono = delegadoTelefono.listaFijos(preInscripcion.getPerCodigo().getSolCodigo());
          listaCelular = delegadoTelefono.listaCelular(preInscripcion.getPerCodigo().getSolCodigo());

           String dirEmpresa = " ";
           parametros.put("dirEmpresa", dirEmpresa);
           String numEmp = "";
           parametros.put("numEmp", numEmp);
      
        
        direccionPreinscrito = delegadoDireccion.buscaDireccionColegiado(preInscripcion.getPerCodigo().getSolCodigo());
        listaTelefono = delegadoTelefono.listaFijos(pi.getCodigoColegiado());
        listaCelular = delegadoTelefono.listaCelular(pi.getCodigoColegiado());

        //DECLARACION DE PARAMETROS
        if(listaTelefono == null){
            String telefonoIns = "";
            parametros.put("telefonoIns", telefonoIns);
        }
        if(listaTelefono != null){
            String telefonoIns = listaTelefono.get(0).getTsoCodciudad()+" - "+listaTelefono.get(0).getTsoNumero();
            parametros.put("telefonoIns", telefonoIns);
        }
        if(listaCelular == null){
            String numCelular = "";
            parametros.put("numCelular", numCelular);
        }
        if(listaCelular != null){
            String numCelular = listaCelular.get(0).getTsoCodciudad()+" - "+listaCelular.get(0).getTsoNumero();
            parametros.put("numCelular", numCelular);
        }
        if(direccionPreinscrito ==null){
            String direccion = " ";
            String dpto = " ";
            String provincia = " ";
            String distrito = " ";
            String zona = " ";
            String urbanizacion = " ";

            parametros.put("direccion", direccion);
            parametros.put("dpto", dpto);
            parametros.put("provincia", provincia);
            parametros.put("distrito", distrito);
            parametros.put("zona", zona);
            parametros.put("urbanizacion", urbanizacion);
        }
        if(direccionPreinscrito !=null){
            String direccion = direccionPreinscrito.getDpeDireccion();
            String dpto = direccionPreinscrito.getDisCodigo().getProCodigo().getDepCodigo().getDepNombre();
            String provincia = direccionPreinscrito.getDisCodigo().getProCodigo().getProNombre();
            String distrito = direccionPreinscrito.getDisCodigo().getDisNombre();
            String zona = direccionPreinscrito.getZonaCodigo().getZonNombre()+" "+direccionPreinscrito.getDpenombreZona();

            parametros.put("direccion", direccion);
            parametros.put("dpto", dpto);
            parametros.put("provincia", provincia);
            parametros.put("distrito", distrito);
            parametros.put("zona", zona);            
        }

        String universidad = preInscripcion.getFopCodigo().getUniCodigo().getUniNombre();
        String instAcademica = preInscripcion.getFopCodigo().getFopinstAcademica();
        String titulonuevo = preInscripcion.getFopCodigo().getFopnuevoTitulo();
        
        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        String nombreFicha = preInscripcion.getPerCodigo().getNombreCompleto();

        parametros.put("logo", logo);
        parametros.put("instAcademica", instAcademica);
        parametros.put("titulonuevo",titulonuevo);
        parametros.put("universidad", universidad);

        listaPre.add(preInscripcion);

        if (listaPre.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptPreInscripcionAntigua.jasper";
//            rutaPDF = ruta.getRuta() + nombreFicha+".pdf";//"rptPreInscripcionAntigua.pdf";
            rutaPDF = ruta.getRutaPDFpreInscripcion()+"frenteFicha/"+ nombreFicha+"-Frente.pdf";
//            rutaPDF = ruta.getRutaPDF() + nombreFicha+".pdf"; //"rptPreInscripcionAntigua.pdf";//ruta windows prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaPre));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }

      }catch(Exception ex){
            return null;
     }
        return "";
    }

    //GENERAR FICHA DE PREINSCRIPCION

    @SuppressWarnings("static-access")
    public String exportarFichaPreInscripcion() {

        Map parametros = new HashMap();
        List listaPre = new ArrayList();
        preInscripcionController pi = (preInscripcionController) ControladorAbstracto.getBean("preInscripcionController");
     try{
       try{
           preInscripcion = delegadoPreinscripcion.buscaPreInscripcion(pi.getCodigoColegiado());

            String dirEmpresa = " ";
            parametros.put("dirEmpresa", dirEmpresa);
            String numEmp = "";
            parametros.put("numEmp", numEmp);
        }catch(Exception ex){
            String dirEmpresa = " ";
            parametros.put("dirEmpresa", dirEmpresa);
            String numEmp = "";
            parametros.put("numEmp", numEmp);
        }
      
            direccionPreinscrito = delegadoDireccion.buscaDireccionColegiado(preInscripcion.getPerCodigo().getSolCodigo());
            listaTelefono = delegadoTelefono.listaFijos(pi.getCodigoColegiado());
            listaCelular = delegadoTelefono.listaCelular(pi.getCodigoColegiado());

        //DECLARACION DE PARAMETROS
        if(listaTelefono == null){
            String telefonoIns = "";
            parametros.put("telefonoIns", telefonoIns);

        }
        if(listaTelefono != null){
            String telefonoIns = listaTelefono.get(0).getTsoCodciudad()+" - "+listaTelefono.get(0).getTsoNumero();
            parametros.put("telefonoIns", telefonoIns);
        }

        if(listaCelular == null){
            String numCelular = "";
            parametros.put("numCelular", numCelular);

        }
        if(listaCelular != null){
            String numCelular = listaCelular.get(0).getTsoCodciudad()+" - "+listaCelular.get(0).getTsoNumero();
            parametros.put("numCelular", numCelular);
        }

        if(direccionPreinscrito ==null){
            String direccion = " ";
            String dpto = " ";
            String provincia = " ";
            String distrito = " ";
            String zona = " ";
        
            parametros.put("direccion", direccion);
            parametros.put("dpto", dpto);
            parametros.put("provincia", provincia);
            parametros.put("distrito", distrito);
            parametros.put("zona", zona);
            
        }
        if(direccionPreinscrito !=null){
            String direccion = direccionPreinscrito.getDpeDireccion();
            String dpto = direccionPreinscrito.getDisCodigo().getProCodigo().getDepCodigo().getDepNombre();
            String provincia = direccionPreinscrito.getDisCodigo().getProCodigo().getProNombre();
            String distrito = direccionPreinscrito.getDisCodigo().getDisNombre();
            String zona = direccionPreinscrito.getZonaCodigo().getZonNombre()+" "+direccionPreinscrito.getDpenombreZona();

            parametros.put("direccion", direccion);
            parametros.put("dpto", dpto);
            parametros.put("provincia", provincia);
            parametros.put("distrito", distrito);
            parametros.put("zona", zona);
           
        }

        String universidad = preInscripcion.getFopCodigo().getUniCodigo().getUniNombre();
        String instAcademica = preInscripcion.getFopCodigo().getFopinstAcademica();
        String titulonuevo = preInscripcion.getFopCodigo().getFopnuevoTitulo();

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);

        parametros.put("logo", logo);
        parametros.put("instAcademica", instAcademica);
        parametros.put("titulonuevo",titulonuevo);
        parametros.put("universidad", universidad);

        String nombreFicha = preInscripcion.getPerCodigo().getNombreCompleto();

        listaPre.add(preInscripcion);

        if (listaPre.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptPreInscripcion2.jasper";
             rutaPDF = ruta.getRutaPDFpreInscripcion()+"frenteFicha/"+ nombreFicha+"-Frente.pdf";
//            rutaPDF = ruta.getRuta() + nombreFicha+".pdf"; //rptPreInscripcion2.pdf"; //ruta windows prueba
//            rutaPDF = ruta.getRutaPDF() + nombreFicha+".pdf"; //rptPreInscripcion2.pdf";
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaPre));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
      }catch(Exception ex){
            return null;
     }
        return "";
    }

  //GENERAR ESPALDA FICHA DE INSCRIPCION

    @SuppressWarnings("static-access")
    public String exportarFichaPreInscripcionEspalda() {

        Map parametros = new HashMap();
        List listaPre = new ArrayList();
        preInscripcionController pi = (preInscripcionController) ControladorAbstracto.getBean("preInscripcionController");
        try{
            System.out.println("codigo : "+pi.getCodigoColegiado());
        preInscripcion = delegadoPreinscripcion.buscaPreInscripcion(pi.getCodigoColegiado());
        
        presidente = delegadoDirectivo.buscaPresidente();
        vocal1 = delegadoDirectivo.buscaPrimerVocal();
        vocal2 = delegadoDirectivo.buscaSegundoVocal();
        decano = delegadoDirectivo.buscaDecano();
//        secretario = delegadoDirectivo.buscaDirSecretario();
        secretariaGeneral = delegadoDirectivo.buscaDirSecretarioGeneral();

//        consejo = delegadoConsejo.buscarActivo();
        
        listaPre.add(preInscripcion);
       
        //DECLARACION DE PARAMETROS
       String universidad = preInscripcion.getFopCodigo().getUniCodigo().getUniNombre();
       String fechaRecGrado = preInscripcion.getFopCodigo().getFechaRecepGrado();
       
       try{
           if(preInscripcion.getFopCodigo().getFopresRecHoja() != null){
           String hojas = preInscripcion.getFopCodigo().getFopresRecHoja();
           parametros.put("hojas", hojas);
        }else{
            String hojas = "";
            parametros.put("hojas", hojas);
        }
       }catch(Exception ex){
            String hojas = "";
            parametros.put("hojas", hojas);
       }
       String nombPresidente = presidente.getColCodigo().getPersonaNatural().getNombreApellido();
       String nroCipPresidente = presidente.getColCodigo().getColnumeroCip();
       String nombCompletoPresid = presidente.getColCodigo().getPersonaNatural().getNombreCompleto();

       String nombVocal1 = vocal1.getColCodigo().getPersonaNatural().getNombreApellido();
       String nroCipVocal1 = vocal1.getColCodigo().getColnumeroCip();

       String nombVocal2 = vocal2.getColCodigo().getPersonaNatural().getNombreApellido();
       String nroCipVocal2 = vocal2.getColCodigo().getColnumeroCip();

       String nombDecano = decano.getColCodigo().getPersonaNatural().getNombreCompleto();
       String nroCipDecano = decano.getColCodigo().getColnumeroCip();

//       String nombSecretario = secretario.getColCodigo().getNombreCompleto();
//       String nroCipSecretario = secretario.getColCodigo().getColnumeroCip();

       String nombSecGeneral = secretariaGeneral.getColCodigo().getPersonaNatural().getNombreCompleto();
       String nroCipSecGeneral = secretariaGeneral.getColCodigo().getColnumeroCip();

       String nombreFicha = preInscripcion.getPerCodigo().getNombreCompleto();
//       String logo = consejo.getCdeLogoReporte();
        //ENVIO DE PARAMETROS

        parametros.put("universidad", universidad);
        parametros.put("fechaRecGrado", fechaRecGrado);        
        parametros.put("nombPresidente", nombPresidente);
        parametros.put("nroCipPresidente", nroCipPresidente);
        parametros.put("nombCompletoPresid", nombCompletoPresid);
        parametros.put("nombVocal1", nombVocal1);
        parametros.put("nroCipVocal1", nroCipVocal1);
        parametros.put("nombVocal2", nombVocal2);
        parametros.put("nroCipVocal2", nroCipVocal2);
        parametros.put("nombDecano", nombDecano);
        parametros.put("nroCipDecano", nroCipDecano);
//        parametros.put("nombSecretario", nombSecretario);
//        parametros.put("nroCipSecretario",nroCipSecretario);
        parametros.put("nombSecGeneral", nombSecGeneral);
        parametros.put("nroCipSecGeneral",nroCipSecGeneral);

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);
        
        if (listaPre.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptPreInscripcionEspalda.jasper";
//            rutaPDF = ruta.getRuta() + "rptPreInscripcionEspalda.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDFpreInscripcion()+"espaldaFicha/"+ nombreFicha+"-Espalda.pdf";
//            rutaPDF = ruta.getRutaPDF() + "rptPreInscripcionEspalda.pdf";
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaPre));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
       }catch(Exception ex){
            return null;
       }
        return "";
    }

   //GENERAR FICHA DE FIRMA Y SELLO

    @SuppressWarnings("static-access")
    public String exportarFichaFirmaSello() {

        Map parametros = new HashMap();
        preInscripcionController pi = (preInscripcionController) ControladorAbstracto.getBean("preInscripcionController");

        try{
            preInscripcion = delegadoPreinscripcion.buscaPreInscripcion(pi.getCodigoColegiado());
        
        List listaPre = new ArrayList();
        listaPre.add(preInscripcion);

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);
        String nombreFicha = preInscripcion.getPerCodigo().getNombreCompleto();

        if (listaPre.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptFichaFirmaSello.jasper";
//            rutaPDF = ruta.getRuta() + "rptFichaFirmaSello.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDFpreInscripcion()+"firmaSello/"+nombreFicha+"-FirmaSello.pdf";
//            rutaPDF = ruta.getRutaPDF() + "rptFichaFirmaSello.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaPre));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
      }catch(Exception ex){
            return null;
     }
        return "";
    }

    // GENERAR FICHA DE CARNET DE COLEGIADO

    @SuppressWarnings("static-access")
    public String exportarFichaCarnet() {

        Map parametros = new HashMap();
        preInscripcionController pi = (preInscripcionController) ControladorAbstracto.getBean("preInscripcionController");

        try{
        preInscripcion = delegadoPreinscripcion.buscaPreInscripcion(pi.getCodigoColegiado());
        
        List listaPre = new ArrayList();
        listaPre.add(preInscripcion);
        String nombreFicha = preInscripcion.getPerCodigo().getNombreCompleto();

        if (listaPre.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptFichaCarnet.jasper";
//            rutaPDF = ruta.getRuta() + "rptFichaCarnet.pdf";//ruta windows prueba
            rutaPDF  = ruta.getRutaPDFpreInscripcion()+"fichaCarnet/"+nombreFicha+"-FichaCarnet.pdf";

//            rutaPDF = ruta.getRutaPDF() + "rptFichaCarnet.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaPre));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
       }catch(Exception ex){
            return null;
      }
        return "";
    }

    //GENERAR FICHA DE CESION DE DERECHOS DE AUTOR
    
    @SuppressWarnings("static-access")
    public String exportarCesionDerechosAutor() {

        Map parametros = new HashMap();
        preInscripcionController pi = (preInscripcionController) ControladorAbstracto.getBean("preInscripcionController");

        try{
        preInscripcion = delegadoPreinscripcion.buscaPreInscripcion(pi.getCodigoColegiado());
        derechosAutor = delegadoDerechosAutor.buscaDerechosAutorColegiado(pi.getCodigoColegiado());

        //DECLARACION DE PARAMETROS
        String universidad = preInscripcion.getFopCodigo().getUniCodigo().getUniNombre();
        String tesis = derechosAutor.getCdanombreTesis();
        int tipo = derechosAutor.getCdaformaTexto();
        String tipo1="",tipo2="",tipo3="";
        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);

        String verdad = "/imagenColegiatura/true.gif";
        String falso = "/imagenColegiatura/false.gif";

        switch(tipo){
            case 1:
                    tipo1 = request1.getRealPath(verdad);        //c:/reportes/true.gif";
                    tipo2 = request1.getRealPath(falso);       //c:/reportes/false.gif";
                    tipo3 = request1.getRealPath(falso);break; //c:/reportes/false.gif"; break;
            case 2: 
                    tipo1 = request1.getRealPath(falso);      //"c:/reportes/false.gif";
                    tipo2 = request1.getRealPath(verdad);       //"c:/reportes/true.gif";
                    tipo3 = request1.getRealPath(falso);break;  //"c:/reportes/false.gif"; break;
            case 3: 
                    tipo1 = request1.getRealPath(falso);   //"c:/reportes/false.gif";
                    tipo2 = request1.getRealPath(falso);   //"c:/reportes/false.gif";
                    tipo3 = request1.getRealPath(verdad); break; //"c:/reportes/true.gif"; break;
        }

        //ENVIO DE PARAMETROS

        parametros.put("universidad", universidad);
        parametros.put("tesis", tesis);
        parametros.put("tipo1", tipo1);
        parametros.put("tipo2", tipo2);
        parametros.put("tipo3", tipo3);
        parametros.put("logo", logo);

        List listaPre = new ArrayList();
        listaPre.add(preInscripcion);
        String nombreFicha = preInscripcion.getPerCodigo().getNombreCompleto();


        if (listaPre.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptFichaCesionDerechosAutor.jasper";
//            rutaPDF = ruta.getRuta() + "rptFichaCesionDerechosAutor.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDFpreInscripcion()+"fichaCesion/"+nombreFicha+"-FichaCesion.pdf";
//            rutaPDF = ruta.getRutaPDF() + "rptFichaCesionDerechosAutor.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaPre));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
       }catch(Exception ex){
            return null;
      }
        return "";
    }


     //GENERAR FICHA PREINSCRIPCION TEMPORAL

   @SuppressWarnings("static-access")
    public String exportarFichaPreInscripcionTemporal() {

        Map parametros = new HashMap();
        preInscripcionController pi = (preInscripcionController) ControladorAbstracto.getBean("preInscripcionController");
     try{
        try{
            preInscripcion = delegadoPreinscripcion.buscaPreInscripcion(pi.getCodigoColegiado());
            direccionPreinscrito = delegadoDireccion.buscaDireccionColegiado(pi.getCodigoColegiado());
            listaTelefono = delegadoTelefono.listaFijos(pi.getCodigoColegiado());
            listaCelular = delegadoTelefono.listaCelular(pi.getCodigoColegiado());
            colegiado = delegadoColegiado.buscaColegiado(preInscripcion.getPerCodigo().getSolCodigo());

            if(preInscripcion.getEmpCodigo().getSolCodigo() != null){
                listaTelefonoEmp = delegadoTelefono.listaFijos(preInscripcion.getEmpCodigo().getSolCodigo());
                if(listaTelefonoEmp == null){

                    String codCiudadEmp = "";
                    String numEmp = "";
                    parametros.put("codCiudadEmp", codCiudadEmp);
                    parametros.put("numEmp", numEmp);
                }else{
                    String codCiudadEmp = listaTelefonoEmp.get(0).getTsoCodciudad();
                    String numEmp = listaTelefonoEmp.get(0).getTsoNumero();
                    parametros.put("codCiudadEmp", codCiudadEmp);
                    parametros.put("numEmp", numEmp);

                }
            }

            if(listaCelular.get(0).getTsoCodciudad()!=null && listaCelular.get(0).getTsoNumero()!=null){

                String codCiuCelular = "";
                String numCelular = "";
                parametros.put("codCiudad", codCiuCelular);
                parametros.put("telefonoIns", numCelular);
            }else{
                String codCiuCelular = listaCelular.get(0).getTsoCodciudad();
                String numCelular = listaCelular.get(0).getTsoNumero();
                parametros.put("codCiudad", codCiuCelular);
                parametros.put("telefonoIns", numCelular);
            }

           if(listaTelefono == null){
                  String codCiudad = "";
                  String telefonoIns = "";
                  parametros.put("codCiudad", codCiudad);
                  parametros.put("telefonoIns", telefonoIns);

            }else{
                  String codCiudad = listaTelefono.get(0).getTsoCodciudad();
                  String telefonoIns = listaTelefono.get(0).getTsoNumero();
                  parametros.put("codCiudad", codCiudad);
                  parametros.put("telefonoIns", telefonoIns);
            }

            if(direccionPreinscrito == null){
                String direccion = "---No Registro Dirección---";
                parametros.put("direccion", direccion);
            }
            else{
                String direccion = direccionPreinscrito.getDpeDireccion();
                parametros.put("direccion", direccion);
            }

        }catch(Exception ex){

            String codCiudadEmp = "";
            String numEmp = "";
            parametros.put("codCiudadEmp", codCiudadEmp);
            parametros.put("numEmp", numEmp);

            String codCiuCelular = "";
            String numCelular = "";
            parametros.put("codCiudad", codCiuCelular);
            parametros.put("telefonoIns", numCelular);

            String codCiudad = "";
            String telefonoIns = "";
            parametros.put("codCiudad", codCiudad);
            parametros.put("telefonoIns", telefonoIns);

            String direccion = "---No Registro Dirección---";
            parametros.put("direccion", direccion);

        }
        List listaPre = new ArrayList();
        listaPre.add(preInscripcion);        

        //DECLARACION DE PARAMETROS
        String pais = colegiado.getPais().getPaiDescripcion();
        parametros.put("pais", pais);
        

        if (listaPre.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptPreinscripcionTemporal.jasper";
//            rutaPDF = ruta.getRuta() + "rptPreinscripcionTemporal.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptPreinscripcionTemporal.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaPre));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
     }catch(Exception ex){
         return null;
     }
        return "";
    }


   // GENERAR FICHA DE PREINSCRIPCION TEMPORAL ESPALDA

   @SuppressWarnings("static-access")
    public String exportarFichaPreInscripcionTemporalEspalda() {

        Map parametros = new HashMap();
        preInscripcionController pi = (preInscripcionController) ControladorAbstracto.getBean("preInscripcionController");

        try{
            preInscripcion = delegadoPreinscripcion.buscaPreInscripcion(pi.getCodigoColegiado());
            presidente = delegadoDirectivo.buscaPresidente();
            vocal1 = delegadoDirectivo.buscaPrimerVocal();
            vocal2 = delegadoDirectivo.buscaSegundoVocal();
            decano = delegadoDirectivo.buscaDecano();
        
        List listaPre = new ArrayList();
        listaPre.add(preInscripcion);

        //DECLARACION DE PARAMETROS

       String nombPresidente = presidente.getColCodigo().getPersonaNatural().getNombreApellidoTemporal();
       String nroCipPresidente = presidente.getColCodigo().getColnumeroCip();
       String nombCompletoPresid = presidente.getColCodigo().getPersonaNatural().getNombreCompleto();

       String nombVocal1 = vocal1.getColCodigo().getPersonaNatural().getNombreApellidoTemporal();
       String nroCipVocal1 = vocal1.getColCodigo().getColnumeroCip();

       String nombVocal2 = vocal2.getColCodigo().getPersonaNatural().getNombreApellidoTemporal();
       String nroCipVocal2 = vocal2.getColCodigo().getColnumeroCip();

       String nombDecano = decano.getColCodigo().getPersonaNatural().getNombreCompleto();
       String nroCipDecano = decano.getColCodigo().getColnumeroCip();

        //ENVIO DE PARAMETROS

        parametros.put("nombPresidente", nombPresidente);
        parametros.put("nroCipPresidente", nroCipPresidente);
        parametros.put("nombCompletoPresid", nombCompletoPresid);
        parametros.put("nombVocal1", nombVocal1);
        parametros.put("nroCipVocal1", nroCipVocal1);
        parametros.put("nombVocal2", nombVocal2);
        parametros.put("nroCipVocal2", nroCipVocal2);
        parametros.put("nombDecano", nombDecano);
        parametros.put("nroCipDecano", nroCipDecano);


        if (listaPre.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptPreinscripcionTemporalEspalda.jasper";
//            rutaPDF = ruta.getRuta() + "rptPreinscripcionTemporalEspalda.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptPreinscripcionTemporalEspalda.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaPre));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
       }catch(Exception ex){
            return null;
      }
        return "";
    }

    //GENERAR REPORTE DE TRANSFERENCIAS POR FECHAS

   @SuppressWarnings("static-access")
    public String exportarReporteTransferencia() {

        Map parametros = new HashMap();
        transferenciaController trans = (transferenciaController) ControladorAbstracto.getBean("transfController");
        listaTransferencias = new ArrayList<Transferencia>();
        try{
//        switch(trans.getSeleccion()){

//            case 1:
                listaTransferencias = trans.getListaTransferencias(); //delegadoTransferencia.listaPorFechasOrdenCip(trans.getFechaIni(), trans.getFechaFin());
//                    break;
//            case 2: listaTransferencias = delegadoTransferencia.listaPorFechasOrdenApellidos(trans.getFechaIni(), trans.getFechaFin());
//                    break;
//            case 3: listaTransferencias = delegadoTransferencia.listaPorFechasOrdenConsejo(trans.getFechaIni(), trans.getFechaFin());
//                    break;
//            case 4: listaTransferencias = delegadoTransferencia.listaPorFechasOrdenFecha(trans.getFechaIni(), trans.getFechaFin());
//                    break;
//        }

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        String cantidad = "Nro de Transferencias: "+listaTransferencias.size();
        parametros.put("logo", logo);
        parametros.put("cantidad", cantidad);

        if (listaTransferencias.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptListaTransferenciasFechas.jasper";
//            rutaPDF = ruta.getRuta() + "rptListaTransferenciasFechas.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptListaTransferenciasFechas.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaTransferencias));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
      }catch(Exception ex){
          return null;
      }
        return "";
    }

    //TRANSFERENCIAS EXCEL
    public String exportarTransferenciasExcel(){
        try{
            Map parametros = new HashMap();
            transferenciaController trans = (transferenciaController) ControladorAbstracto.getBean("transfController");

            Boolean tipo = null;
            listaTransferencias = new ArrayList<Transferencia>();

            if(trans.getOpcion()==1){
                tipo = true;
               listaTransferencias = delegadoTransferencia.listaTransferenciasExcelOrdenApellidos(trans.getFecha1(), trans.getFecha2(),tipo );
            }
            if(trans.getOpcion()==2){
               tipo = false;
               listaTransferencias = delegadoTransferencia.listaTransferenciasExcelOrdenApellidos(trans.getFecha1(), trans.getFecha2(),tipo );
            }
            if(trans.getOpcion()==3){
                listaTransferencias = delegadoTransferencia.listaTransferenciasExcelOrdenApellidos2(trans.getFecha1(), trans.getFecha2());
            }
            String cantidad = "Nro de Colegiados : "+listaTransferencias.size();
            parametros.put("cantidad", cantidad);

            HttpServletRequest request1 = ControladorAbstracto.getRequest();
            String Imagen = "/imagenColegiatura/logocipcdll.gif";
            String logo = request1.getRealPath(Imagen);
            parametros.put("logo", logo);

            Reporteador reporteador = new Reporteador();
            reporteador.exportarReporte("rptTransferenciasExcel", FormatoExportacion.excel, listaTransferencias, parametros);
            return null;
        }catch(Exception ex){
            return null;
        }
    }


   //GENERAR GUIA DE REMISION DE PREINSCRITOS
    @SuppressWarnings("static-access")
    public String exportarGuiaRemision() {

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
//        guiaRemisionReporte = delegadoGuiaRemision.buscaGuia(rp.getGuiaRemision().getGreCodigo());

        listaDetalleGuia = delegadoDetalleGuia.listaPorGuia(rp.getGuiaRemision());

        Long numero = rp.getGuiaRemision().getGreNumero();
        String numeroGuia = numero.toString();

        if(numeroGuia.length()<4){
            numeroGuia = "0000"+numeroGuia;
        }else{
            if(numeroGuia.length()<5){
                numeroGuia = "000"+numeroGuia;
            }else{
                if(numeroGuia.length()<6){
                    numeroGuia = "00"+numeroGuia;
                }else{
                    if(numeroGuia.length()<7){
                        numeroGuia = "0"+numeroGuia;
                    }
                }
            }
        }
        Integer tamaño = rp.getGuiaRemision().getGreCantidad();
        String cantidad = "Este sobre contiene: "+tamaño;
        
        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);

        if(rp.getGuiaRemision().getGreTipo()==1){

            String tipo = "Carnetizacion";
            parametros.put("tipo", tipo);
        }else{
            if(rp.getGuiaRemision().getGreTipo()==2){
                String tipo = "ReCarnetizacion";
                parametros.put("tipo", tipo);
            }
        }

        SimpleDateFormat sdfDia = new SimpleDateFormat("dd");
        SimpleDateFormat sdfMes = new SimpleDateFormat("MMMM");
        SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy");
        String fechaGuia;
        fechaGuia = sdfDia.format(new Date())+" de "+sdfMes.format(new Date())+" de "+sdfYear.format(new Date());


        //ENVIO DE PARAMETROS

        parametros.put("numeroGuia", numeroGuia);
        parametros.put("cantidad", cantidad);
        parametros.put("fechaGuia", fechaGuia);

        if (listaDetalleGuia.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptGuiaRemision.jasper";
//            rutaPDF = ruta.getRuta() + "rptGuiaRemision.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptGuiaRemision.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaDetalleGuia));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
            
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";

    }

    //GENERAR REPORTE DE TRANSFERENCIAS DE UN COLEGIADO

    @SuppressWarnings("static-access")
    public String reporteTransferenciasColegiado() {

        Map parametros = new HashMap();
        transferenciaController trans = (transferenciaController) ControladorAbstracto.getBean("transfController");
        listaTransferencias = null;
        listaTransferencias = delegadoTransferencia.ListaTransferencia(trans.getColegiado().getSolCodigo());

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);

        parametros.put("nombreColegiado", trans.getColegiado().getPersonaNatural().getNombreCompleto());
        parametros.put("numeroCIP", trans.getColegiado().getColnumeroCip());
        parametros.put("logo", logo);
        
       if (listaTransferencias.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptTransferenciasColegiado.jasper";
//            rutaPDF = ruta.getRuta() + "rptTransferenciasColegiado.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptTransferenciasColegiado.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaTransferencias));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }


    //GENERAR REPORTE DE SANCIONES DE UN COLEGIADO

    @SuppressWarnings("static-access")
    public String reporteSancionesColegiado() {

        Map parametros = new HashMap();
        sancionarController san = (sancionarController) ControladorAbstracto.getBean("sancionarController");
        listaDetalleSancion = null;
        listaDetalleSancion = delegadoDetalleSancion.listaSanciones(san.getColegiado().getSolCodigo());

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);

        parametros.put("nombreColegiado", san.getColegiado().getPersonaNatural().getNombreCompleto());
        parametros.put("numeroCIP", san.getColegiado().getColnumeroCip());
        parametros.put("logo", logo);

       if (listaDetalleSancion.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptSancionesColegiado.jasper";
//            rutaPDF = ruta.getRuta() + "rptSancionesColegiado.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptSancionesColegiado.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaDetalleSancion));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }


    //GENERAR REPORTE DE CITAS POR PREINSCRIPCION

    @SuppressWarnings("static-access")
    public String reporteCitasPreinscripcion() {

        Map parametros = new HashMap();
        citaController cita = (citaController) ControladorAbstracto.getBean("citaController");
        listaCitaPreinscritos = delegadoCita.listaCitasPorFecha(cita.getFechaIni(), cita.getFechaFin());

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        
        parametros.put("logo", logo);

       if (listaCitaPreinscritos.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptCitasPreinscripcionPorFechas.jasper";
//            rutaPDF = ruta.getRuta() + "rptCitasPreinscripcionPorFechas.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptCitasPreinscripcionPorFechas.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaCitaPreinscritos));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }


    //RELACION DE COLEGIADOS SANCIONADOS

    @SuppressWarnings("static-access")
    public String exportarReporteDetalleSancion() {

        Map parametros = new HashMap();
        sancionarController sanc = (sancionarController) ControladorAbstracto.getBean("sancionarController");
        listaDetalleSancion = new ArrayList<DetalleSancion>();

        switch(sanc.getSeleccion()){

            case 1: listaDetalleSancion = delegadoDetalleSancion.listaDetalleSancionOrdenCip(sanc.getFechaIni(), sanc.getFechaFin());
                    break;
            case 2: listaDetalleSancion = delegadoDetalleSancion.listaDetalleSancionOrdenApellidos(sanc.getFechaIni(), sanc.getFechaFin());
                    break;
            case 3: listaDetalleSancion = delegadoDetalleSancion.listaDetalleSancionOrdenFecha(sanc.getFechaIni(), sanc.getFechaFin());
                    break;
            case 4: listaDetalleSancion = delegadoDetalleSancion.listaDetalleSancionOrdenSancion(sanc.getFechaIni(), sanc.getFechaFin());
                    break;
        }

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        String cantidad = "Nro de Sancionados: "+listaDetalleSancion.size();
        parametros.put("logo", logo);
        parametros.put("cantidad", cantidad);

        if (listaDetalleSancion.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptListaSancionados.jasper";
//            rutaPDF = ruta.getRuta() + "rptListaSancionados.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptListaSancionados.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaDetalleSancion));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

   // RELACION DE DIRECTIVOS POR PERIODO

    @SuppressWarnings("static-access")
    public String reporteDirectivosPorPeriodo(){

        Map parametros = new HashMap();
        directivosController dc = (directivosController) ControladorAbstracto.getBean("directivosController");
        listaDirectivos = null;
        
        switch(dc.getSeleccion()){
            case 1: listaDirectivos = delegadoDirectivo.listaDirectivosPorPeriodoOrdenCip(dc.getFecha1(), dc.getFecha2());
                    break;
            case 2: listaDirectivos = delegadoDirectivo.listaDirectivosPorPeriodoOrdenApellidos(dc.getFecha1(), dc.getFecha2());
                    break;
            case 3: listaDirectivos = delegadoDirectivo.listaDirectivosPorPeriodoOrdenCargo(dc.getFecha1(), dc.getFecha2());
                    break;
        }

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);
        parametros.put("rangoFechas", "Relación de Directivos - Periodo "+dc.getPeriodo());
        String cantidad = "Nro de Directivos: "+listaDirectivos.size();
        parametros.put("cantidad", cantidad);

       if (listaDirectivos.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptRelacionDirectivos.jasper";
//            rutaPDF = ruta.getRuta() + "rptRelacionDirectivos.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptRelacionDirectivos.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaDirectivos));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";

    }

    //REPORTE DE COLEGIADOS POR UNIVERSIDAD
    @SuppressWarnings("static-access")
    public String reporteColegiadosXUniversidad() {

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
        listaColPorUniversidad = null;

        switch(rp.getSeleccion()){

            case 1: listaColPorUniversidad = delegadoColegiado.listaColegiadosPorUniversidadOrdenCip(rp.getUniv().getUniCodigo());
                    break;
            case 2: listaColPorUniversidad = delegadoColegiado.listaColegiadosPorUniversidadOrdenApellidos(rp.getUniv().getUniCodigo());
                    break;
            case 3: listaColPorUniversidad = delegadoColegiado.listaColegiadosPorUniversidadOrdenTipoCol(rp.getUniv().getUniCodigo());
                    break;
        }

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);
        parametros.put("nombreUniversidad", rp.getUniv().getUniNombre());
        String cantidad = "Nro de Colegiados: "+listaColPorUniversidad.size();
        parametros.put("cantidad", cantidad);


        if (listaColPorUniversidad.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptListaCoPorUniversidad.jasper";
//            rutaPDF = ruta.getRuta() + "rptListaCoPorUniversidad.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptListaCoPorUniversidad.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColPorUniversidad));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";

    }


    //REPORTE DE COLEGIADOS VITALICIOS
    @SuppressWarnings("static-access")
    public String reporteColegiadosVitalicios() {

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
        listaColVitalicios = null;

        switch(rp.getSeleccion()){

            case 1: listaColVitalicios = delegadoColegiado.listaVitaliciosOrdenCip();
                    break;
            case 2: listaColVitalicios = delegadoColegiado.listaVitaliciosOrdenApellidos();
                    break;
            case 3: listaColVitalicios = delegadoColegiado.listaVitaliciosOrdenFechaIncorporacion();
                    break;

        }

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);
        String cantidad = "Nro de Vitalicios: "+listaColVitalicios.size();
        parametros.put("cantidad", cantidad);
        
        if (listaColVitalicios.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosVitalicios.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosVitalicios.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptColegiadosVitalicios.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColVitalicios));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    //REPORTE DE COLEGIADOS FALLECIDOS
    @SuppressWarnings("static-access")
    public String reporteColegiadosFallecidos() {

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

        listaColFallecidos = null;

        switch(rp.getSeleccion()){

            case 1 :  listaColFallecidos = delegadoColegiado.listaFallecidosOrdenCIP();
                      break;
            case 2 :  listaColFallecidos = delegadoColegiado.listaFallecidosOrdenApellidos();
                      break;
            case 3 :  listaColFallecidos = delegadoColegiado.listaFallecidosOrdenFechaIncorp();
                      break;
            case 4 :  listaColFallecidos = delegadoColegiado.listaFallecidosOrdenFechaFallecio();
                      break;

        }

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        String cantidad = "Nro de Fallecidos: "+listaColFallecidos.size();
        parametros.put("logo", logo);
        parametros.put("cantidad", cantidad);
        if (listaColFallecidos.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosFallecidos.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosFallecidos.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptColegiadosFallecidos.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColFallecidos));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    // RELACION DE COLEGIADOS POR CAPITULO
    @SuppressWarnings("static-access")
    public String reporteColegiadosPorCapitulo(){

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
        listaColegiadoEsp = null;

        switch(rp.getSeleccion()){

            case 1 : listaColegiadoEsp = delegadoColegiadoEspecialidad.listaColegiadoPorCapituloOrdenCIP(rp.getCapitulo().getCapCodigo());
                     break;
            case 2 : listaColegiadoEsp = delegadoColegiadoEspecialidad.listaColegiadoPorCapituloOrdenApellidos(rp.getCapitulo().getCapCodigo());
                     break;
            case 3 : listaColegiadoEsp = delegadoColegiadoEspecialidad.listaColegiadoPorCapituloOrdenTipoCol(rp.getCapitulo().getCapCodigo());
                     break;
            case 4 : listaColegiadoEsp = delegadoColegiadoEspecialidad.listaColegiadoPorCapituloOrdenFechaAporte(rp.getCapitulo().getCapCodigo());
                     break;
        }
        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);
        parametros.put("capitulo", "Capítulo de "+rp.getCapitulo().getCapDescripcion());
        String cantidad = "Nro de Coelgiados: "+ listaColegiadoEsp.size();
        parametros.put("cantidad", cantidad);

        if (listaColegiadoEsp.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptListaColegiadoPorCapitulo.jasper";
//            rutaPDF = ruta.getRuta() + "rptListaColegiadoPorCapitulo.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptListaColegiadoPorCapitulo.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColegiadoEsp));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";

    }

        //REPORTE DE COLEGIADOS POR DEPORTE
    @SuppressWarnings("static-access")
    public String reporteColegiadosXDeporteSoloSancionados() {

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
        listaColegiadoDeporte = null;

        listaColegiadoDeporte = delegadoDeporte.listaColegiadoDeportesSoloSancionados();

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);

        if (listaColegiadoDeporte.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptListaColegiadoSancionadoDeporte.jasper";
//            rutaPDF = ruta.getRuta() + "rptListaColegiadoSancionadoDeporte.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptListaColegiadoSancionadoDeporte.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColegiadoDeporte));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";

    }

    //REPORTE DE COLEGIADOS POR DEPORTE
    @SuppressWarnings("static-access")
    public String reporteColegiadosXDeporte() {

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
        listaColegiadoDeporte = new ArrayList<ColegiadoDeporte>();

        switch(rp.getSeleccion()){

            case 1 : listaColegiadoDeporte = delegadoDeporte.listaColegiadoDeportesOrdenCIP(rp.getDeporte().getDepCodigo());
                     break;
            case 2 : listaColegiadoDeporte = delegadoDeporte.listaColegiadoDeportesOrdenApellidos(rp.getDeporte().getDepCodigo());
                     break;
            case 3 : listaColegiadoDeporte = delegadoDeporte.listaColegiadoDeportesOrdenDeporte(rp.getDeporte().getDepCodigo());
                     break;
            case 4 : listaColegiadoDeporte = delegadoDeporte.listaColegiadoDeportesOrdenNivel(rp.getDeporte().getDepCodigo());
                     break;
            case 5 : reporteColegiadosXDeporteSoloSancionados();
                     break;
        }

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        String cantidad = "Nro de Colegiados: "+listaColegiadoDeporte.size();
        parametros.put("logo", logo);
        parametros.put("nombreDeporte", "Deporte: "+rp.getDeporte().getDepDescripcion());
        parametros.put("cantidad", cantidad);

        if (listaColegiadoDeporte.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptListaColPorDeporte.jasper";
//            rutaPDF = ruta.getRuta() + "rptListaColPorDeporte.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptListaColPorDeporte.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColegiadoDeporte));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";

    }


    //REPORTE DE COLEGIADOS POR FECHA NACIMIENTO APORTE INCORPORACION Y HABILIDAD
    @SuppressWarnings("static-access")
    public String reporteColegiadosPorFechas(){

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
        listaColegiadosPorFechas = null;
        listaColegiadoEsp = null;
        String tipoFecha,capitulo;

        listaColegiadosPorFechas = rp.getListaColegiadosFechas();
        switch(rp.getSelecFecha()){

            case 1 :
                nombreReporte = "Nacimiento";
                switch(rp.getSeleccion()){

                case 1 : tipoFecha = "Relación de Colegiados por Fecha de Nacimiento";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaColegiadosFechaNacimientoOrdenCIP(rp.getFecha1(), rp.getFecha2());
                         break;
                case 2 : tipoFecha = "Relación de Colegiados por Fecha de Nacimiento";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaColegiadosFechaNacimientoOrdenApellidos(rp.getFecha1(), rp.getFecha2());
                         break;
                case 3 : tipoFecha = "Relación de Colegiados por Fecha de Nacimiento";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaColegiadosFechaNacimientoOrdenTipoCol(rp.getFecha1(), rp.getFecha2());
                         break;
                case 4 : tipoFecha = "Relación de Colegiados por Fecha de Nacimiento";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaColegiadosFechaNacimientoOrdenFecha(rp.getFecha1(), rp.getFecha2());
                         break;
                case 5 :
                         if(rp.getCapitulo()== null){
                             tipoFecha = "Relación de Colegiados por Fecha de Nacimiento";
                             parametros.put("tipoFecha", tipoFecha);
//                             listaColegiadoEsp
//                             listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorFechaNacimientoTodosLosCapitulos(rp.getFecha1(), rp.getFecha2());
                         }else{
                             tipoFecha = "Relación de Colegiados por Fecha Nacimiento";
                             capitulo = "Capítulo de "+rp.getCapitulo().getCapDescripcion();
                             parametros.put("tipoFecha", tipoFecha);
                             parametros.put("capitulo", capitulo);
//                             listaColegiadoEsp
//                             listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorFechaNacimientoyCapitulo(rp.getCapitulo().getCapCodigo(), rp.getFecha1(), rp.getFecha2());
                         }
                         break;
                     }
                break;
                     
            case 2 :
                nombreReporte = "Aporte";
                switch(rp.getSeleccion()){

                case 1 : tipoFecha = "Relación de Colegiados por Fecha de Aporte";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaColegiadosFechaAporteOrdenCIP(rp.getFecha1(), rp.getFecha2());
                         break;
                case 2 : tipoFecha = "Relación de Colegiados por Fecha de Aporte";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaColegiadosFechaAporteOrdenApellidos(rp.getFecha1(), rp.getFecha2());
                         break;
                case 3 : tipoFecha = "Relación de Colegiados por Fecha de Aporte";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaColegiadosFechaAporteOrdenTipoCol(rp.getFecha1(), rp.getFecha2());
                         break;
                case 4 : tipoFecha = "Relación de Colegiados por Fecha de Aporte";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaColegiadosFechaAporteOrdenFecha(rp.getFecha1(), rp.getFecha2());
                         break;
                case 5 :
                         if(rp.getCapitulo()==null){
                             tipoFecha = "Relación de Colegiados por Fecha de Aporte";
                             parametros.put("tipoFecha", tipoFecha);
//                             listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorFechaAporteTodosLosCapitulos(rp.getFecha1(), rp.getFecha2());
                         }else{
                            tipoFecha = "Relación de Colegiados por Fecha de Aporte";
                            capitulo = "Capítulo de "+rp.getCapitulo().getCapDescripcion();
                            parametros.put("tipoFecha", tipoFecha);
                            parametros.put("capitulo", capitulo);
//                            listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorFechaAporteyCapitulo(rp.getCapitulo().getCapCodigo(), rp.getFecha1(), rp.getFecha2());
                         }
                         break;
                     }
                break;
            case 3 :
                nombreReporte = "Incorporacíon";
                switch(rp.getSeleccion()){

                case 1 : tipoFecha = "Relación de Colegiados por Fecha de Incorporación";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaColegiadosFechaIncorpOrdenCIP(rp.getFecha1(), rp.getFecha2());
                         break;
                case 2 : tipoFecha = "Relación de Colegiados por Fecha de Incorporación";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaColegiadosFechaIncorpOrdenApellidos(rp.getFecha1(), rp.getFecha2());
                         break;
                case 3 : tipoFecha = "Relación de Colegiados por Fecha de Incorporación";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaColegiadosFechaIncorpOrdenTipoCol(rp.getFecha1(), rp.getFecha2());
                         break;
                case 4 : tipoFecha = "Relación de Colegiados por Fecha de Incorporación";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaColegiadosFechaIncorpOrdenFecha(rp.getFecha1(), rp.getFecha2());
                         break;
                case 5 :
                         if(rp.getCapitulo()==null){
                             tipoFecha = "Relación de Colegiados por Fecha de Incorporación";
                             parametros.put("tipoFecha", tipoFecha);
//                             listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorFechaIncorpTodosLosCapitulos(rp.getFecha1(), rp.getFecha2());
                         }else{
                             tipoFecha = "Relación de Colegiados por Fecha de Incorporación";
                             capitulo = "Capítulo de "+rp.getCapitulo().getCapDescripcion();
                             parametros.put("tipoFecha", tipoFecha);
                             parametros.put("capitulo", capitulo);
//                             listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorFechaIncorpyCapitulo(rp.getCapitulo().getCapCodigo(), rp.getFecha1(), rp.getFecha2());
                         }
                         break;
                     }
                break;
            case 4 :
                nombreReporte = "Habilidad";
                switch(rp.getSeleccion()){

                case 1 : tipoFecha = "Relación de Colegiados por Fecha de Habilidad";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaPorFechaHabilidadOrdenCIP(rp.getFecha1(), rp.getFecha2());
                         break;
                case 2 : tipoFecha = "Relación de Colegiados por Fecha de Habilidad";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaPorFechaHabilidadOrdenApellido(rp.getFecha1(), rp.getFecha2());
                         break;
                case 3 : tipoFecha = "Relación de Colegiados por Fecha de Habilidad";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaPorFechaHabilidadOrdenTipo(rp.getFecha1(), rp.getFecha2());
                         break;
                case 4 : tipoFecha = "Relación de Colegiados por Fecha de Habilidad";
                         parametros.put("tipoFecha", tipoFecha);
//                         listaColegiadosPorFechas = delegadoColegiado.listaPorFechaHabilidadOrdenFecha(rp.getFecha1(), rp.getFecha2());
                         break;
                case 5 :
                         if(rp.getCapitulo()==null){
                             tipoFecha = "Relación de Colegiados por Fecha de Habilidad";
                             parametros.put("tipoFecha", tipoFecha);
//                             listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorHabilidadTodosLosCapitulos(rp.getFecha1(), rp.getFecha2());
                         }else{
                             tipoFecha = "Relación de Colegiados por Fecha de Habilidad";
                             capitulo = "Capítulo de "+rp.getCapitulo().getCapDescripcion();
                             parametros.put("tipoFecha", tipoFecha);
                             parametros.put("capitulo", capitulo);
//                             listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorHabilidadyCapitulo(rp.getCapitulo().getCapCodigo(), rp.getFecha1(), rp.getFecha2());
                         }
                         break;
                     }
                break;
        }

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);
        parametros.put("rangoFechas", "Rango de Fechas: "+rp.getRangoFechas());
        String cantidad = "Nro de Colegiados: "+listaColegiadosPorFechas.size();
        parametros.put("cantidad", cantidad);

        if (listaColegiadosPorFechas.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosPorFechas.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosPorFecha"+nombreReporte+".pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptColegiadosPorFecha"+nombreReporte+".pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColegiadosPorFechas));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    //REPORTE DE COLEGIADOS POR FECHA y CAPITULO
    @SuppressWarnings("static-access")
    public String reporteColegiadosPorFechasYCapitulos(){

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
        listaColegiadosPorFechas = null;
        listaColegiadosPorFechas = rp.getListaColegiadosFechas();
        String tipoFecha,capitulo;

        switch(rp.getSelecFecha()){

            case 1 :
                switch(rp.getSeleccion()){
                case 5 :
                         if(rp.getCapitulo()== null){
                             tipoFecha = "Relación de Colegiados por Fecha de Nacimiento";
                             parametros.put("tipoFecha", tipoFecha);
//                             listaColegiadoEsp
//                             listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorFechaNacimientoTodosLosCapitulos(rp.getFecha1(), rp.getFecha2());
                         }else{
                             tipoFecha = "Relación de Colegiados por Fecha Nacimiento";
                             capitulo = "Capítulo de "+rp.getCapitulo().getCapDescripcion();
                             parametros.put("tipoFecha", tipoFecha);
                             parametros.put("capitulo", capitulo);
//                             listaColegiadoEsp
//                             listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorFechaNacimientoyCapitulo(rp.getCapitulo().getCapCodigo(), rp.getFecha1(), rp.getFecha2());
                         }
                         break;
                     }
                break;
            case 2 :
                switch(rp.getSeleccion()){
                case 5 :
                         if(rp.getCapitulo()==null){
                             tipoFecha = "Relación de Colegiados por Fecha de Aporte";
                             parametros.put("tipoFecha", tipoFecha);
//                             listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorFechaAporteTodosLosCapitulos(rp.getFecha1(), rp.getFecha2());
                         }else{
                            tipoFecha = "Relación de Colegiados por Fecha de Aporte";
                            capitulo = "Capítulo de "+rp.getCapitulo().getCapDescripcion();
                            parametros.put("tipoFecha", tipoFecha);
                            parametros.put("capitulo", capitulo);
//                            listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorFechaAporteyCapitulo(rp.getCapitulo().getCapCodigo(), rp.getFecha1(), rp.getFecha2());
                         }
                         break;
                     }
                break;
            case 3 :
                switch(rp.getSeleccion()){
                case 5 :
                         if(rp.getCapitulo()==null){
                             tipoFecha = "Relación de Colegiados por Fecha de Incorporación";
                             parametros.put("tipoFecha", tipoFecha);
//                             listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorFechaIncorpTodosLosCapitulos(rp.getFecha1(), rp.getFecha2());
                         }else{
                             tipoFecha = "Relación de Colegiados por Fecha de Incorporación";
                             capitulo = "Capítulo de "+rp.getCapitulo().getCapDescripcion();
                             parametros.put("tipoFecha", tipoFecha);
                             parametros.put("capitulo", capitulo);
//                             listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorFechaIncorpyCapitulo(rp.getCapitulo().getCapCodigo(), rp.getFecha1(), rp.getFecha2());
                         }
                         break;
                     }
                break;
            case 4 :
                switch(rp.getSeleccion()){
                case 5 : 
                         if(rp.getCapitulo()==null){
                             tipoFecha = "Relación de Colegiados por Fecha de Habilidad";
                             parametros.put("tipoFecha", tipoFecha);
//                             listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorHabilidadTodosLosCapitulos(rp.getFecha1(), rp.getFecha2());
                         }else{
                             tipoFecha = "Relación de Colegiados por Fecha de Habilidad";
                             capitulo = "Capítulo de "+rp.getCapitulo().getCapDescripcion();
                             parametros.put("tipoFecha", tipoFecha);
                             parametros.put("capitulo", capitulo);
//                             listaColegiadosPorFechas = delegadoColegiado.listaColegiadoPorHabilidadyCapitulo(rp.getCapitulo().getCapCodigo(), rp.getFecha1(), rp.getFecha2());
                         }
                         break;
                     }
                break;
        }

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);
        parametros.put("rangoFechas", rp.getRangoFechas());
        String cantidad = "Nro de Colegiados: "+listaColegiadosPorFechas.size();
        parametros.put("cantidad", cantidad);

        if (listaColegiadosPorFechas.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosPorFechas.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosPorFechasYCapitulos.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptColegiadosPorFechas.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColegiadoEsp));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    //COLEGIADOS POR COMITE LOCAL
    @SuppressWarnings("static-access")
    public String exportarReporteColegiadosPorComiteLocal() {

        Map parametros = new HashMap();
        colegiadoComiteLocalController cc = (colegiadoComiteLocalController) ControladorAbstracto.getBean("colegiadoComiteLocalController");
        
        listaColegiadoComite = null;      
        listaColegiadoComite = delegadoColegiadoComite.listaColegiadoPorComite(cc.getComite());

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);
        parametros.put("comite", cc.getComite().getCloNombre());

        if (listaColegiadoComite.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosComiteLocal.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosComiteLoca.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptColegiadosComiteLoca.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColegiadoComite));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    //COLEGIADOS DE TODOS LOS COMITES LOCALES
    @SuppressWarnings("static-access")
    public String exportarReporteTodosColegiadosComiteLocal() {

        Map parametros = new HashMap();
        colegiadoComiteLocalController cc = (colegiadoComiteLocalController) ControladorAbstracto.getBean("colegiadoComiteLocalController");
        listaColegiadoComite = new ArrayList<ColegiadoComiteLocal>();
        
        switch(cc.getSeleccion()){

            case 1 : listaColegiadoComite = delegadoColegiadoComite.listaColegiadoOrdenCip();
                     break;
            case 2 : listaColegiadoComite = delegadoColegiadoComite.listaColegiadoOrdenApellidos();
                     break;
            case 3 : listaColegiadoComite = delegadoColegiadoComite.listaColegiadoOrdenComite();
                     break;
            case 4 : exportarReporteColegiadosPorComiteLocal();
                     break;

        }

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        String cantidad = "Nro de Colegiados en C.L: "+listaColegiadoComite.size();
        parametros.put("logo", logo);
        parametros.put("cantidad", cantidad);

        if (listaColegiadoComite.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptTodosColegiadosComiteLocal.jasper";
//            rutaPDF = ruta.getRuta() + "rptTodosColegiadosComiteLocal.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptTodosColegiadosComiteLocal.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColegiadoComite));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

        //COLEGIADOS POR CENTRO DE TRABAJO
    @SuppressWarnings("static-access")
    public String exportarReporteColegiadosPorCentroTrabajo() {

        Map parametros = new HashMap();
        colegiadoCentroTrabajoController ct = (colegiadoCentroTrabajoController) ControladorAbstracto.getBean("colegiadoCentroTrabajoController");

        listaColegiadoCentroTrabajo = null;
        listaColegiadoCentroTrabajo = delegadoColegiadoCentroTrabajo.listaColegiadoPorCentroTrabajo(ct.getCentroTrabajo());

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);
        parametros.put("centro", ct.getCentroTrabajo().getCtrNombre());

        if (listaColegiadoCentroTrabajo.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosCentroTrabajo.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosCentroTrabajo.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptColegiadosCentroTrabajo.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColegiadoCentroTrabajo));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    //COLEGIADOS DE TODOS LOS CENTROS DE TRABAJO
    @SuppressWarnings("static-access")
    public String exportarReporteTodosColegiadosCentroTrabajo() {

        Map parametros = new HashMap();
        colegiadoCentroTrabajoController ct = (colegiadoCentroTrabajoController) ControladorAbstracto.getBean("colegiadoCentroTrabajoController");

        listaColegiadoCentroTrabajo = new ArrayList<ColegiadoCentroTrabajo>();


        switch(ct.getSeleccion()){

            case 1 : listaColegiadoCentroTrabajo = delegadoColegiadoCentroTrabajo.listaColegiadoCentroTrabajoOrdenCIP();
                     break;
            case 2 : listaColegiadoCentroTrabajo = delegadoColegiadoCentroTrabajo.listaColegiadoCentroTrabajoOrdenApellidos();
                     break;
            case 3 : listaColegiadoCentroTrabajo = delegadoColegiadoCentroTrabajo.listaColegiadoCentroTrabajoOrdenCentro();
                     break;
            case 4 : exportarReporteColegiadosPorCentroTrabajo();
                     break;

        }

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        String cantidad = "Nro de Colegiados en C.T: "+listaColegiadoCentroTrabajo.size();
        parametros.put("logo", logo);
        parametros.put("cantidad", cantidad);

        if (listaColegiadoCentroTrabajo.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptTodosColegiadosCentroTrabajo.jasper";
//            rutaPDF = ruta.getRuta() + "rptTodosColegiadosCentroTrabajo.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptTodosColegiadosCentroTrabajo.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColegiadoCentroTrabajo));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    // GENERAR REPORTE DE INGENIEROS PREINSCRITOS POR FECHAS

    @SuppressWarnings("static-access")
    public String exportarReportePreinscritosPorFecha() {

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
        List<Preinscripcion> listaPreinscritos = new ArrayList<Preinscripcion>();
        
        switch(rp.getSeleccion()){
            
            case 1 : listaPreinscritos = delegadoPreinscripcion.listaPorFechasOrdenDNI(rp.getFechaIni(),rp.getFechaFin());
                     break;
            case 2 : listaPreinscritos = delegadoPreinscripcion.listaPorFechasOrdenApellidos(rp.getFechaIni(),rp.getFechaFin());
                     break;
            case 3 : listaPreinscritos = delegadoPreinscripcion.listaPorFechasOrdenFechaIncrip(rp.getFechaIni(),rp.getFechaFin());
                     break;
            case 4 : listaPreinscritos = delegadoPreinscripcion.listaPorFechasOrdenCapitulo(rp.getFechaIni(),rp.getFechaFin());
                     break;
            case 5 : listaPreinscritos = delegadoPreinscripcion.listaPorFechasOrdenEspecialidad(rp.getFechaIni(),rp.getFechaFin());
                     break;                     
        }
        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);

        //DECLARACION DE VARIABLES
        SimpleDateFormat sdf1 = new SimpleDateFormat("dd/MM/yyyy");
        SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
        String rangoFecha = "Periodo: "+sdf1.format(rp.getFechaIni())+" - "+sdf2.format(rp.getFechaFin());
        //ENVIO DE PARAMETROS

        parametros.put("rangoFecha", rangoFecha);
        parametros.put("logo", logo);

        if (listaPreinscritos.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptPreinscritosPorFecha.jasper";
//            rutaPDF = ruta.getRuta() + "rptPreinscritosPorFecha.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptPreinscritosPorFecha.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaPreinscritos));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }


    //REPORTE DE COLEGIADOS TRANSFERIDOS
    @SuppressWarnings("static-access")
    public String reporteColegiadosTransferidos() {

        listaColTransferidos = null;
        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

        switch(rp.getSeleccion()){

            case 1 : listaColTransferidos = delegadoColegiado.listaTranferidosOrdenCIP();
                     break;
            case 2 : listaColTransferidos = delegadoColegiado.listaTranferidosOrdenApellidos();
                     break;
            case 3 : listaColTransferidos = delegadoColegiado.listaTranferidosOrdenFechaIncrip();
                     break;
        }

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);
        String cantidad = "Nro de Transferidos: "+listaColTransferidos.size();
        parametros.put("cantidad", cantidad);

        if (listaColTransferidos.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosTransferidos.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosTransferidos.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptColegiadosTransferidos.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColTransferidos));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    //REPORTE DE COLEGIADOS TEMPORALES
    @SuppressWarnings("static-access")
    public String reporteColegiadosTemporales() {

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

        listaColTemporales = null;
        switch(rp.getSeleccion()){

            case 1 : listaColTemporales = delegadoColegiado.listaColegiadosTemporalesOrdenCIP();
                     break;
            case 2 : listaColTemporales = delegadoColegiado.listaColegiadosTemporalesOrdenCarnetExt();
                     break;
            case 3 : listaColTemporales = delegadoColegiado.listaColegiadosTemporalesOrdenApellidos();
                     break;
            case 4 : listaColTemporales = delegadoColegiado.listaColegiadosTemporalesOrdenFechaIncorp();
                     break;
        }

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        String cantidad = "Nro de Colegiados Temporales: "+listaColTemporales.size();
        parametros.put("logo", logo);
        parametros.put("cantidad", cantidad);
                
        if (listaColTemporales.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosTemporales.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosTemporales.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptColegiadosTemporales.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColTemporales));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    //REPORTE DE COLEGIADOS EXTERNOS
    @SuppressWarnings("static-access")
    public String reporteColegiadosExternos() {

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
        listaColExternos = null;

        switch(rp.getSeleccion()){

            case 1 : listaColExternos = delegadoColegiado.listaColegiadosExternosOrdenCIP();
                     break;
            case 2 : listaColExternos = delegadoColegiado.listaColegiadosExternosOrdenDNI();
                     break;
            case 3 : listaColExternos = delegadoColegiado.listaColegiadosExternosOrdenApellidos();
                     break;
        }

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        String cantidad = "Nro de Colegiado Externos: "+listaColExternos.size();
        parametros.put("logo", logo);
        parametros.put("cantidad", cantidad);

        if (listaColExternos.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosExternos.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosExternos.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptColegiadosExternos.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColExternos));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";

    }

     //REPORTE DE COLEGIADOS ORDINARIOS
    @SuppressWarnings("static-access")
    public String reporteColegiadosOrdinarios() {

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

        listaColGeneral = new ArrayList<PersonaNatural>();
        listaColGeneral = rp.getListaPersonas();
    
        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        String cantidad = "Nro de Colegiados: "+listaColGeneral.size();
        String titulo = "Relación de Colegiados Ordinarios";
        parametros.put("rango", titulo);
        parametros.put("cantidad", cantidad);
        parametros.put("logo", logo);

        if (listaColGeneral.size() > 0) { 
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosOrdinarios.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosOrdinarios.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptColegiadosOrdinarios.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColGeneral));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";

    }

    //REPORTE DE COLEGIADOS NUEVOS

    public String reporteColegiadosNuevos(){

        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

        if(rp.getCombo1()==1 || rp.getCombo1()==2){
            reporteColegiadosNuevos1();
        }
        if(rp.getCombo1()==3 || rp.getCombo1()==4){
            reporteColegiadosNuevos2();
        }
//         if(rp.getCombo1()==4){
//            reporteColegiadosNuevos3();
//        }
        return null;
    }
    
    @SuppressWarnings("static-access")
    public String reporteColegiadosNuevos1() {

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
        listaColegiadosNuevos = null;
     
        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);


        try{
        switch(rp.getCombo1()){
            case 1 :
                switch(rp.getCombo2()){
                    case 1 : listaColegiadosNuevos = delegadoColegiado.listaColegiadosNuevosPorFechaAporteOrdenCIP(rp.getFecha1(),rp.getFecha2());
                             break;
                    case 2 : listaColegiadosNuevos = delegadoColegiado.listaColegiadosNuevosPorFechaAporteOrdenApellidos(rp.getFecha1(),rp.getFecha2());
                             break;
                    case 3 : listaColegiadosNuevos = delegadoColegiado.listaColegiadosNuevosPorFechaAporteOrdenFechaAporte(rp.getFecha1(),rp.getFecha2());
                             break;
                    case 4 : listaColegiadosNuevos = delegadoColegiado.listaColegiadosNuevosPorFechaAporteOrdenIncorp(rp.getFecha1(),rp.getFecha2());
                             break;
                }break;
            case 2 :
                switch(rp.getCombo2()){
                    case 1 : listaColegiadosNuevos = delegadoColegiado.listaColegiadosNuevosPorFechaIncorpOrdenCIP(rp.getFecha1(),rp.getFecha2());
                             break;
                    case 2 : listaColegiadosNuevos = delegadoColegiado.listaColegiadosNuevosPorFechaIncorpOrdenApellidos(rp.getFecha1(),rp.getFecha2());
                             break;
                    case 3 : listaColegiadosNuevos = delegadoColegiado.listaColegiadosNuevosPorFechaIncorpOrdenFechaAporte(rp.getFecha1(),rp.getFecha2());
                             break;
                    case 4 : listaColegiadosNuevos = delegadoColegiado.listaColegiadosNuevosPorFechaIncorpOrdenIncorp(rp.getFecha1(),rp.getFecha2());
                             break;
                }break;
        }
        }catch(Exception ex){
            return null;
        }
        String cantidad = "Nro de Colegiados: "+listaColegiadosNuevos.size();
        parametros.put("cantidad", cantidad);
        if (listaColegiadosNuevos.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosNuevos.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosNuevos.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptColegiadosNuevos.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColegiadosNuevos));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }        
        return "";

    }

    @SuppressWarnings("static-access")
    public String reporteColegiadosNuevos2() {

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
        listaColegiadoEsp = null;

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);

        try{
        switch(rp.getCombo1()){
            case 3 :
                switch(rp.getCombo2()){
                    case 1 : listaColegiadoEsp = delegadoColegiado.listaColegiadosNuevosPorCapituloOrdenCIP(rp.getFecha1(),rp.getFecha2(),rp.getCapitulo());
                             break;
                    case 2 : listaColegiadoEsp = delegadoColegiado.listaColegiadosNuevosPorCapituloOrdenApellidos(rp.getFecha1(),rp.getFecha2(),rp.getCapitulo());
                             break;
                    case 3 : listaColegiadoEsp = delegadoColegiado.listaColegiadosNuevosPorCapituloOrdenFechaAporte(rp.getFecha1(),rp.getFecha2(),rp.getCapitulo());
                             break;
                    case 4 : listaColegiadoEsp = delegadoColegiado.listaColegiadosNuevosPorCapituloOrdenFechaIncorp(rp.getFecha1(),rp.getFecha2(),rp.getCapitulo());
                             break;
                }break;
            case 4 :
                switch(rp.getCombo2()){
                    case 1 : listaColegiadoEsp = delegadoColegiado.listaColegiadosNuevosTodosCapituloOrdenCIP(rp.getFecha1(),rp.getFecha2());
                             break;
                    case 2 : listaColegiadoEsp = delegadoColegiado.listaColegiadosNuevosTodosCapituloOrdenApellidos(rp.getFecha1(),rp.getFecha2());
                             break;
                    case 3 : listaColegiadoEsp = delegadoColegiado.listaColegiadosNuevosTodosCapituloOrdenFechaAporte(rp.getFecha1(),rp.getFecha2());
                             break;
                    case 4 : listaColegiadoEsp = delegadoColegiado.listaColegiadosNuevosTodosCapituloOrdenFechaIncorp(rp.getFecha1(),rp.getFecha2());
                             break;
                }break;
        }
        }catch(Exception ex){
            return null;
        }

        String cantidad = "Nro de Colegiados: "+listaColegiadoEsp.size();
        parametros.put("cantidad", cantidad);

        if (listaColegiadoEsp.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosNuevos2.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosNuevos2.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptColegiadosNuevos2.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColegiadoEsp));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";

    }

    //GENERAR REPORTE EN EXCEL DE INGENIEROS PREINSCRITOS POR FECHAS Y CON DIRECCION

    public String exportarExcelPreinscritosPorFechaConDireccion(){
        try{
            Map parametros = new HashMap();
            reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
            listaPreinscritoFechaConDireccion = new ArrayList<Preinscripcion>();
            listaPreinscritoFechaConDireccion = delegadoPreinscripcion.listaPreinscritoPorFechaConDireccion(rp.getFechaIni(),rp.getFechaFin());

            String titulo = "Relación de Pre - Inscritos";
            String cantidad = "Nro de Colegiados : "+listaPreinscritoFechaConDireccion.size();
            parametros.put("cantidad", cantidad);
            parametros.put("titulo", titulo);

            HttpServletRequest request1 = ControladorAbstracto.getRequest();
            String Imagen = "/imagenColegiatura/logocipcdll.gif";
            String logo = request1.getRealPath(Imagen);
            parametros.put("logo", logo);

            Reporteador reporteador = new Reporteador();
            reporteador.exportarReporte("rptPreinscritosExcel", FormatoExportacion.excel, listaPreinscritoFechaConDireccion, parametros);
            return null;
        }catch(Exception ex){
            return null;
        }
    }

   //GENERAR REPORTE EN EXCEL DE INGENIEROS ORDINARIOS CON DIRECCION

    public String exportarExcelOrdinariosConDireccion(){
        try{
        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

        listaColGeneral = new ArrayList<PersonaNatural>();
        listaColGeneral = delegadoColegiado.listaOrdinariosConDireccion(rp.getListaPersonas());

        String titulo = "Relación de Colegiados Ordinarios";
        String cantidad = "Nro de Colegiados : "+listaColGeneral.size();
        parametros.put("cantidad", cantidad);
        parametros.put("capitulo", titulo);

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);

        Reporteador reporteador = new Reporteador();
        reporteador.exportarReporte("rptColegiadosOrdinariosExcel", FormatoExportacion.excel, listaColGeneral, parametros);
        return null;
        }catch(Exception ex){
            return null;
        }

    }

   //GENERAR REPORTE EN EXCEL DE INGENIEROS TEMPORALES CON DIRECCION

    public String exportarExcelTemporalesPorFechaConDireccion(){
        try{
            Map parametros = new HashMap();
    //        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
            listaColTemporales = new ArrayList<Colegiado>();
            listaColTemporales = delegadoColegiado.listaColegiadosTemporalesDireccionFono();

            String titulo = "Relación de Colegiados Temporales";
            String cantidad = "Nro de Colegiados : "+listaColTemporales.size();
            parametros.put("cantidad", cantidad);
            parametros.put("titulo", titulo);

            HttpServletRequest request1 = ControladorAbstracto.getRequest();
            String Imagen = "/imagenColegiatura/logocipcdll.gif";
            String logo = request1.getRealPath(Imagen);
            parametros.put("logo", logo);

            Reporteador reporteador = new Reporteador();
            reporteador.exportarReporte("rptColegiadosTemporalesExcel", FormatoExportacion.excel, listaColTemporales, parametros);
            return null;
        }catch(Exception ex){
            return null;
        }
    }

    
   //GENERAR REPORTE EN EXCEL DE INGENIEROS VITALICIOS CON DIRECCION

    public String exportarExcelVitaliciosPorFechaConDireccion(){

        try{
        Map parametros = new HashMap();
//        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
        listaColVitalicios = new ArrayList<Colegiado>();
        listaColVitalicios = delegadoColegiado.listaVitaliciosDireccionFono();

        String titulo = "Relación de Colegiados Vitalicios";
        String cantidad = "Nro de Colegiados : "+listaColVitalicios.size();
        parametros.put("cantidad", cantidad);
        parametros.put("titulo", titulo);

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);

        Reporteador reporteador = new Reporteador();
        reporteador.exportarReporte("rptColegiadosVitaliciosExcel", FormatoExportacion.excel, listaColVitalicios, parametros);
        return null;
        }catch(Exception ex){
            return null;
        }
    }

    //COLEGIADOS POR FECHA DE APORTE EN EXCEL
    public String exportarExcelPorFechaAporteConDireccion(){
        try{
            Map parametros = new HashMap();
            reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

            listaColGeneral = new ArrayList<PersonaNatural>();
            listaColGeneral = delegadoColegiado.listaColegiadosFechaAporteDireccionFono(rp.getFecha1(), rp.getFecha2());

            String capitulo = "Relación de Colegiados por Fecha de Aporte ";
            String cantidad = "Nro de Colegiados : "+listaColGeneral.size();
            parametros.put("cantidad", cantidad);
            parametros.put("capitulo", capitulo);

            HttpServletRequest request1 = ControladorAbstracto.getRequest();
            String Imagen = "/imagenColegiatura/logocipcdll.gif";
            String logo = request1.getRealPath(Imagen);
            parametros.put("logo", logo);

            Reporteador reporteador = new Reporteador();
            reporteador.exportarReporte("rptColegiadosFechaIncorporacionExcel", FormatoExportacion.excel, listaColGeneral, parametros);
            return null;
        }catch(Exception ex){
            return null;
        }
    }  

       //lista colegiado por fecha de nacimiento con direccion y fonos
    public String exportarExcelPorFechaNacimientoConDireccion(){
        try{
            Map parametros = new HashMap();
            reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

            listaColegiadosPorFechas = new ArrayList<Colegiado>();
            listaColegiadosPorFechas = delegadoColegiado.listaColegiadosFechaNacimientoDireccionFono(rp.getFecha1(), rp.getFecha2());

            Reporteador reporteador = new Reporteador();
            reporteador.exportarReporte("rptColegiadosFechaIncorporacionExcel", FormatoExportacion.excel, listaColegiadosPorFechas, parametros);
            return null;
        }catch(Exception ex){
            return null;
        }
    }
    //COLEGIADOS POR FECHA DE INCORPORACION EN EXCEL
    public String exportarExcelPorFechaIncorpConDireccion(){
        try{
            Map parametros = new HashMap();
            reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

            listaColGeneral = new ArrayList<PersonaNatural>();
            listaColGeneral = delegadoColegiado.listaColegiadosFechaIncorpDireccionFono(rp.getFecha1(), rp.getFecha2());

            String capitulo = "Relación de Colegiados por Fecha de Incorporación ";
            String cantidad = "Nro de Colegiados : "+listaColGeneral.size();
            parametros.put("cantidad", cantidad);
            parametros.put("capitulo", capitulo);

            HttpServletRequest request1 = ControladorAbstracto.getRequest();
            String Imagen = "/imagenColegiatura/logocipcdll.gif";
            String logo = request1.getRealPath(Imagen);
            parametros.put("logo", logo);

            Reporteador reporteador = new Reporteador();
            reporteador.exportarReporte("rptColegiadosFechaIncorporacionExcel", FormatoExportacion.excel, listaColGeneral, parametros);
            return null;
        }catch(Exception ex){
            return null;
        }
    }

    //COLEGIADOS POR FECHA DE HABILIDAD EN EXCEL
    public String exportarExcelPorFechaHabilConDireccion(){
       try{
            Map parametros = new HashMap();
            reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

            listaColGeneral = new ArrayList<PersonaNatural>();
            listaColGeneral = delegadoColegiado.listaPorFechaHabilidadTodosCapitulosDireccionFono(rp.getFecha1(), rp.getFecha2());

            String capitulo = "Relación de Colegiados por Fecha de Habilidad ";
            String cantidad = "Nro de Colegiados : "+listaColGeneral.size();
            parametros.put("cantidad", cantidad);
            parametros.put("capitulo", capitulo);

            HttpServletRequest request1 = ControladorAbstracto.getRequest();
            String Imagen = "/imagenColegiatura/logocipcdll.gif";
            String logo = request1.getRealPath(Imagen);
            parametros.put("logo", logo);

            Reporteador reporteador = new Reporteador();
            reporteador.exportarReporte("rptColegiadosFechaIncorporacionExcel", FormatoExportacion.html, listaColGeneral, parametros);
            return null;
        }catch(Exception ex){
            return null;
        }
    }

        //COLEGIADOS POR FECHA DE HABILIDAD y CAPITULO EN EXCEL
    public String exportarExcelPorFechaHabilyCapituloConDireccion(){
        try{
            Map parametros = new HashMap();
            reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

            listaColegiadosPorFechas = new ArrayList<Colegiado>();
            listaColegiadosPorFechas = delegadoColegiado.listaPorFechaHabilidadyCapituloDireccionFono(rp.getCapitulo().getCapCodigo(),rp.getFecha1(), rp.getFecha2());

            String capitulo = "Relación de Colegiados por Fecha de Habilidad del Capítulo : "+rp.getCapitulo().getCapDescripcion();
            String cantidad = "Nro de Colegiados : "+listaColegiadosPorFechas.size();
            parametros.put("cantidad", cantidad);
            parametros.put("capitulo", capitulo);

            HttpServletRequest request1 = ControladorAbstracto.getRequest();
            String Imagen = "/imagenColegiatura/logocipcdll.gif";
            String logo = request1.getRealPath(Imagen);
            parametros.put("logo", logo);

            Reporteador reporteador = new Reporteador();
            reporteador.exportarReporte("rptColegiadosFechaIncorporacionExcel", FormatoExportacion.html, listaColegiadosPorFechas, parametros);

            return null;
        }catch(Exception ex){
            return null;
        }
    }

    public String generarExcelPorTipoFecha(){

        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

//        Integer opcion;
//        opcion = ;
//        if(rp.getSelecFecha()==null){
//            opcion = 1;
//        }
        switch(rp.getSelecFecha()){

            case 1 : exportarExcelPorFechaNacimientoConDireccion();
                     break;
            case 2 : exportarExcelPorFechaAporteConDireccion();
                     break;
            case 3 : exportarExcelPorFechaIncorpConDireccion();
                     break;
            case 4 : if(rp.getCapitulo()==null){
                        exportarExcelPorFechaHabilConDireccion();
                     }else{
                        exportarExcelPorFechaHabilyCapituloConDireccion();
                     }break;
        }
        return null;
    }

    //COLEGIADOS NUEVOS POR FECHA DE INCORPORACION EN EXCEL
    public String exportarExcelNuevosPorFechaIncorpConDireccion(){
        try{
            Map parametros = new HashMap();
            reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
            listaColegiadosPorFechas = new ArrayList<Colegiado>();
            listaColegiadosPorFechas = delegadoColegiado.listaColegiadosNuevosPorFechaIncorpDireccionFono(rp.getFecha1(), rp.getFecha2());

            String titulo = "Relación de Colegiados";
            String cantidad = "Nro de Colegiados : "+listaColegiadosPorFechas.size();
            parametros.put("cantidad", cantidad);
            parametros.put("titulo", titulo);

            HttpServletRequest request1 = ControladorAbstracto.getRequest();
            String Imagen = "/imagenColegiatura/logocipcdll.gif";
            String logo = request1.getRealPath(Imagen);
            parametros.put("logo", logo);

            Reporteador reporteador = new Reporteador();
            reporteador.exportarReporte("rptColegiadosNuevosFechaIncorporacionExcel", FormatoExportacion.excel, listaColegiadosPorFechas, parametros);

            return null;
        }catch(Exception ex){
            return null;
        }
    }

    //COLEGIADOS NUEVOS POR FECHA DE APORTE EN EXCEL
    public String exportarExcelNuevosPorFechaAporteConDireccion(){
        try{
            Map parametros = new HashMap();
            reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
            listaColegiadosPorFechas = new ArrayList<Colegiado>();
            listaColegiadosPorFechas = delegadoColegiado.listaColegiadosNuevosPorFechaAporteDireccionFono(rp.getFecha1(), rp.getFecha2());

            String titulo = "Relación de Colegiados";
            String cantidad = "Nro de Colegiados : "+listaColegiadosPorFechas.size();
            parametros.put("cantidad", cantidad);
            parametros.put("titulo", titulo);

            HttpServletRequest request1 = ControladorAbstracto.getRequest();
            String Imagen = "/imagenColegiatura/logocipcdll.gif";
            String logo = request1.getRealPath(Imagen);
            parametros.put("logo", logo);

            Reporteador reporteador = new Reporteador();
            reporteador.exportarReporte("rptColegiadosNuevosFechaAporteExcel", FormatoExportacion.excel, listaColegiadosPorFechas, parametros);
            System.out.println("descargo reporte");
            return null;

        }catch(Exception ex){
            return null;
        }
    }

    public String generarExcelColegiadosNuevosPorTipoFecha(){

        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
        Integer opcion;
        opcion = rp.getCombo1();
        if(opcion==null){
            opcion = 1;
        }
        switch(opcion){

            case 1 : exportarExcelNuevosPorFechaAporteConDireccion();
                     break;
            case 2 : exportarExcelNuevosPorFechaIncorpConDireccion();
                     break;
        }
        return null;
    }

    //DOCUMENTO DE CONFORMIDAD

    @SuppressWarnings("static-access")
    public String documentoConformidad() {

        Map parametros = new HashMap();
        preInscripcionController pi = (preInscripcionController) ControladorAbstracto.getBean("preInscripcionController");

        List<Preinscripcion> listaPre = new ArrayList<Preinscripcion>();
        try{
        preInscripcion = delegadoPreinscripcion.buscaPreInscripcion(pi.getCodigoColegiado());
        decano = delegadoDirectivo.buscaDecano();

        listaPre.add(preInscripcion);
        String nombreFicha = preInscripcion.getPerCodigo().getNombreCompleto();

        parametros.put("nombreColegiado", preInscripcion.getPerCodigo().getNombreCompleto());
        parametros.put("dni", preInscripcion.getPerCodigo().getPerNroDNI());
        parametros.put("fecha", preInscripcion.getFechaActual());
        parametros.put("decano", "ING. "+decano.getColCodigo().getPersonaNatural().getNombreCompleto());
        
       if (listaPre.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptDocumentoConformidad.jasper";
//            rutaPDF = ruta.getRuta() + "rptDocumentoConformidad.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDFpreInscripcion()+"docConformidad/"+nombreFicha+"DocConformidad.pdf";
//            rutaPDF = ruta.getRutaPDF() + "rptDocumentoConformidad.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaPre));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }

       }catch(Exception ex){
            return null;
        }
        return "";
    }

    //CRONOGRAMA

    @SuppressWarnings("static-access")
    public String Cronograma() {

        Map parametros = new HashMap();
        String cronograma = "";
        detalleCronogramaController dc = (detalleCronogramaController) ControladorAbstracto.getBean("detalleCronogramaController");

        listaDetalleCronograma = null;
        listaDetalleCronograma = delegadoDetalleCronograma.buscaPorCronograma(dc.getCronograma());

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);

        cronograma = "Cronograma "+dc.getCronograma().getCroAnio();

        parametros.put("cronograma", cronograma);
        parametros.put("logo", logo);

       if (listaDetalleCronograma.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptCronograma.jasper";
//            rutaPDF = ruta.getRuta() + "rptCronograma.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptCronograma.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaDetalleCronograma));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    public String imprimirCronograma(){

        cronogramaController cc = (cronogramaController) ControladorAbstracto.getBean("cronogramaController");
        Map parametros = new HashMap();
        String cronograma = "";

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);

        listaDetalleCronograma = null;
        listaDetalleCronograma = delegadoDetalleCronograma.buscaPorCronograma(cc.getCronograma());
        cronograma = "Cronograma "+cc.getCronograma().getCroAnio();
        parametros.put("cronograma", cronograma);
        parametros.put("logo", logo);

        Reporteador reporteador = new Reporteador();
        reporteador.exportarReporte("rptCronograma", FormatoExportacion.impresora, listaDetalleCronograma, parametros);
        return null;
    }


    //RELACION DE ARCHIVOS DE PREINSCIRPCION

    @SuppressWarnings("static-access")
    public String exportarArchivosPreInscripcion() {

        Map parametros = new HashMap();

        listaArchivoPre= null;
        listaArchivoPre = delegadoArchivoPre.findAll();

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);

        parametros.put("logo", logo);

       if (listaArchivoPre.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptRelacionArchivosPreColegiatura.jasper";
//            rutaPDF = ruta.getRuta() + "rptRelacionArchivosPreColegiatura.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptRelacionArchivosPreColegiatura.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaArchivoPre));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    @SuppressWarnings("static-access")
    public String exportarArchivosPreInscripcionPorFechas() {

        Map parametros = new HashMap();

        ArchivoPreinscripcionController ap = (ArchivoPreinscripcionController) ControladorAbstracto.getBean("ArchivoPreinscripcionController");

        listaArchivoPre= null;
        listaArchivoPre = delegadoArchivoPre.listaPorFechas(ap.getFecha1(), ap.getFecha2());

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        SimpleDateFormat sdf1 = new SimpleDateFormat("dd/MM/yyyy");
        SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
        String rangoFechas = sdf1.format(ap.getFecha1())+" - "+sdf2.format(ap.getFecha2());

        parametros.put("logo", logo);
        parametros.put("rangoFechas", rangoFechas);

       if (listaArchivoPre.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptRelacionArchivosPreColegiaturaPorFecha.jasper";
//            rutaPDF = ruta.getRuta() + "rptRelacionArchivosPreColegiaturaPorFecha.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptRelacionArchivosPreColegiatura.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaArchivoPre));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    public String listarColegiadoReconocidos(){

        ReconocimientoColegiadoController rc = (ReconocimientoColegiadoController) ControladorAbstracto.getBean("ReconocimientoColegiadoController");

        switch(rc.getOpcion()){
            case 1 : exportarColegiadoReconocidosPorFechas(); break;
            case 2 : exportarColegiadoReconocidosPorReconocimiento(); break;
            case 3 : exportarColegiadoReconocidos(); break;
        }
        return null;
    }

    @SuppressWarnings("static-access")
    public String exportarColegiadoReconocidos() {

        Map parametros = new HashMap();

        ReconocimientoColegiadoController rc = (ReconocimientoColegiadoController) ControladorAbstracto.getBean("ReconocimientoColegiadoController");

        listaColReconocido= null;
        listaColReconocido = delegadoRecoColegiado.findAll();

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        String cantidad = "Nro de Colegiado : "+listaColReconocido.size();
        parametros.put("logo", logo);
        parametros.put("cantidad", cantidad);

       if (listaColReconocido.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosReconocidos.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosReconocidos.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptRelacionArchivosPreColegiatura.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColReconocido));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    @SuppressWarnings("static-access")
    public String exportarColegiadoReconocidosPorFechas() {

        Map parametros = new HashMap();

        ReconocimientoColegiadoController rc = (ReconocimientoColegiadoController) ControladorAbstracto.getBean("ReconocimientoColegiadoController");

        listaColReconocido= null;
        listaColReconocido = delegadoRecoColegiado.listaPorFechas(rc.getFecha1(), rc.getFecha2());

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        SimpleDateFormat sdf1 = new SimpleDateFormat("dd/MM/yyyy");
        SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
        String rangoFechas = sdf1.format(rc.getFecha1())+" - "+sdf2.format(rc.getFecha2());
        String cantidad = "Nro de Colegiados: "+listaColReconocido.size();

        parametros.put("cantidad", cantidad);
        parametros.put("logo", logo);
        parametros.put("rangoFechas", "Rango de Fechas: "+rangoFechas);

       if (listaColReconocido.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosReconocidosPorFecha.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosReconocidosPorFecha.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptRelacionArchivosPreColegiatura.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColReconocido));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    @SuppressWarnings("static-access")
    public String exportarColegiadoReconocidosPorReconocimiento() {

        Map parametros = new HashMap();

        ReconocimientoColegiadoController rc = (ReconocimientoColegiadoController) ControladorAbstracto.getBean("ReconocimientoColegiadoController");

        listaColReconocido= null;
        listaColReconocido = delegadoRecoColegiado.listaPorReconocimiento(rc.getReconocimiento());

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        String reconocimiento = "Colegiados Reconocidos con "+rc.getReconocimiento().getRecNombre();
        String cantidad = "Nro de Colegiados: "+listaColReconocido.size();
        parametros.put("reconocimiento", reconocimiento);
        parametros.put("logo", logo);
        parametros.put("cantidad", cantidad);

       if (listaColReconocido.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosReconocidosPorRecono.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosReconocidosPorRecono.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptColegiadosReconocidosPorRecono.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColReconocido));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    //COLEGIADOS POR DISTRITO EXCEL
    public String exportarColegiadosPorDistritosExcel(){
        try{
            Map parametros = new HashMap();
            reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

            listaColegiadosPorDistrito = new ArrayList<DireccionPersona>();
            listaColegiadosPorDistrito = rp.getListaDirecciones();
            String cantidad = "Nro de Colegiados : "+listaColegiadosPorDistrito.size();
            parametros.put("tamaño", cantidad);

            HttpServletRequest request1 = ControladorAbstracto.getRequest();
            String Imagen = "/imagenColegiatura/logocipcdll.gif";
            String logo = request1.getRealPath(Imagen);
            parametros.put("logo", logo);

            Reporteador reporteador = new Reporteador();
            reporteador.exportarReporte("rptColegiadosPorDistritoExcel", FormatoExportacion.excel, listaColegiadosPorDistrito, parametros);
            return null;
        }catch(Exception ex){
            return null;
        }
    }

    //COLEGIADOS POR DISTRITO PDF
    @SuppressWarnings("static-access")
    public String exportarColegiadosPorDistrito() {

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

        listaColegiadosPorDistrito = new ArrayList<DireccionPersona>();
        listaColegiadosPorDistrito = rp.getListaDirecciones();
        String cantidad = "Nro de Colegiados : "+listaColegiadosPorDistrito.size();
        parametros.put("tamaño", cantidad);

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        parametros.put("logo", logo);

       if (listaColegiadosPorDistrito.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosPorDistrito.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosPorDistrito.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptColegiadosPorDistrito.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColegiadosPorDistrito));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }
    //COLEGIADOS CUMPLEAGNERO EXCEL
    public String exportarColegiadosCumpleagnerosExcel(){
        try{
            Map parametros = new HashMap();
            reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

            listaColGeneral = new ArrayList<PersonaNatural>();
            listaColGeneral = delegadoColegiado.listaColegiadoCumpleagneroDireccionOrdenCIP(rp.getHabilitado(),rp.getMes());
            String cantidad = "Nro de Colegiados : "+listaColGeneral.size();
            parametros.put("tamaño", cantidad);

            HttpServletRequest request1 = ControladorAbstracto.getRequest();
            String Imagen = "/imagenColegiatura/logocipcdll.gif";
            String logo = request1.getRealPath(Imagen);
            parametros.put("logo", logo);

            Reporteador reporteador = new Reporteador();
            reporteador.exportarReporte("rptColegiadosPorCumpleagnosExcel", FormatoExportacion.excel, listaColGeneral, parametros);
            return null;
        }catch(Exception ex){
            return null;
        }
    }

    //COLEGIADOS CUMPLEAGNERO PDF 
    @SuppressWarnings("static-access")
    public String exportarColegiadoDeCumpleagnos() {

        Map parametros = new HashMap();
        reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");

        listaColGeneral = new ArrayList<PersonaNatural>();
        listaColGeneral = rp.getListaPersonas();

        HttpServletRequest request1 = ControladorAbstracto.getRequest();
        String Imagen = "/imagenColegiatura/logocipcdll.gif";
        String logo = request1.getRealPath(Imagen);
        String cantidad = "Nro de Colegiados: "+listaColGeneral.size();
        parametros.put("logo", logo);
        parametros.put("cantidad", cantidad);

       if (listaColGeneral.size() > 0) {
            RutaCarpetaReporte ruta = new RutaCarpetaReporte();
            String rutaJasper = "", rutaPDF = "";
            rutaJasper = ruta.getRutaReporte() + "rptColegiadosDeCumpleagnos.jasper";
//            rutaPDF = ruta.getRuta() + "rptColegiadosDeCumpleaños.pdf";//ruta windows prueba
            rutaPDF = ruta.getRutaPDF() + "rptColegiadosDeCumpleaños.pdf";//ruta linux prueba
            //logo windows:         C:/Reportes/logocipcdll.gif
            //rutaPDF = ruta.getRutaPDF() + "rptFormato.pdf";   //ruta linux server
            //logo linux:          /root/Desktop/pdf/logocipcdll.gif
            try {
                HttpServletRequest request = ControladorAbstracto.getRequest();
                rutaJasper = request.getRealPath(rutaJasper);
            //rutaPDF = request.getRealPath(rutaPDF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }

            try {
                File entrada = new File(rutaJasper);
                JasperPrint print = JasperFillManager.fillReport(new FileInputStream(entrada), parametros, new JRBeanCollectionDataSource(listaColGeneral));
                if (ruta.generarPDF(rutaPDF, print)) {
                }
            } catch (Exception e) {
                System.out.println("-------" + e.toString());
            }
        } else {
            mostrarMensaje("Error", "Deben existir datos en la Lista para exportar", FacesMessage.SEVERITY_ERROR);
        }
        return "";
    }

    //MENSAJES
    public void mostrarMensaje(String resumen, String detalle, FacesMessage.Severity severidad) {
        try {
            FacesMessage fm = new FacesMessage(severidad, resumen, detalle);
            FacesContext.getCurrentInstance().addMessage(fm.toString(), fm);
        } catch (Exception e) {
            FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_ERROR, e.getMessage(), e.getMessage());
            FacesContext.getCurrentInstance().addMessage(fm.toString(), fm);
        }
    }
}
